{"id":23982,"date":"2008-05-09T00:00:00","date_gmt":"2008-05-09T00:00:00","guid":{"rendered":"https:\/\/alienroad.com\/google-bilgi-bankasi\/design-patterns-for-accessible-crawlable-and-indexable-content\/"},"modified":"2008-05-09T00:00:00","modified_gmt":"2008-05-09T00:00:00","slug":"design-patterns-for-accessible-crawlable-and-indexable-content","status":"publish","type":"ar_kb","link":"https:\/\/alienroad.com\/google-bilgi-bankasi\/design-patterns-for-accessible-crawlable-and-indexable-content\/","title":{"rendered":"Design patterns for accessible, crawlable and indexable content"},"content":{"rendered":"<p class=\"gargardate\">Friday, May 09, 2008<\/p>\n<p>\n  As a follow-up to my<br \/>\n  <a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/webmaster-tips-for-creating-accessible-crawlable-sites\/\">previous posts<\/a><br \/>\n  on accessibility, here are some design recommendations for creating web content that remains<br \/>\n  usable by the widest possible audience while helping ensure that the content gets indexed and<br \/>\n  crawled.\n<\/p>\n<h2 id=\"avoid-spurious-xmlhttprequest-calls\" tabindex=\"-1\">Avoid spurious <code>XMLHttpRequest<\/code> calls<\/h2>\n<p>\n  Pages that enable users to look up information often use <code>XMLHttpRequest<\/code> calls to<br \/>\n  populate the page with additional information after the page has loaded. When using this pattern,<br \/>\n  ensure that your initial page has useful information on it&mdash;otherwise Googlebot as well as<br \/>\n  those users who have disabled scripting in their browser may believe that your site contains only<br \/>\n  the message &#8220;loading&#8230;&#8221;\n<\/p>\n<h2 id=\"css-sprites-and-navigation-links\" tabindex=\"-1\">CSS sprites and navigation links<\/h2>\n<p>\n  Having meaningful text to go with navigational links is equally important for Googlebot as well as<br \/>\n  users who cannot perceive the meaning of an image. While designing the look and feel of<br \/>\n  navigational links on your site, you may have chosen to go with images that function as links,<br \/>\n  for example, by placing <code>&lt;img \/&gt;<\/code> tags within <code>&lt;a&gt;<\/code> elements.<br \/>\n  That design enables you to place the descriptive text as an<br \/>\n  <a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/using-alt-attributes-smartly\/\">alt attribute<\/a><br \/>\n  on the<code>&lt;img \/&gt;<\/code>tag.\n<\/p>\n<p>\n  But what if you&#8217;ve switched to using<br \/>\n  <a href=\"https:\/\/www.google.com\/search?q=css+sprites\" class=\"external-link\"><span>CSS  sprites<\/span><\/a><br \/>\n  to optimize page loading? It&#8217;s still possible to include that all-important descriptive text when<br \/>\n  applying CSS sprites; for a possible solution, see how the Google logo and the various nav-links<br \/>\n  at the bottom of the Google Results page are coded. In brief, we placed the descriptive text right<br \/>\n  under the CSS-sprited image.\n<\/p>\n<p><img decoding=\"async\" alt=\"Google search results with CSS enabled\" src=\"https:\/\/alienroad.com\/wp-content\/uploads\/kb-gorsel\/g-187927e55951.png\" loading=\"lazy\"><\/p>\n<p><img decoding=\"async\" alt=\"Google search result with CSS disabled. Google sprited image lost, descriptive Google link remains\" src=\"https:\/\/alienroad.com\/wp-content\/uploads\/kb-gorsel\/g-21be3e9373fd.png\" loading=\"lazy\"><\/p>\n<h2 id=\"use-unobtrusive-javascript\" tabindex=\"-1\">Use unobtrusive JavaScript<\/h2>\n<p>\n  We&#8217;ve talked about the concept of<br \/>\n  <a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/a-spiders-view-of-web-2-0\/\">progressive enhancement<\/a><br \/>\n  when creating a rich, interactive site. As you add features, also use<br \/>\n  <a href=\"https:\/\/www.google.com\/search?q=unobtrusive+javascript\" class=\"external-link\"><span>unobtrusive JavaScript<\/span><\/a><br \/>\n  techniques for creating JavaScript-powered web pages that degrade gracefully. These techniques<br \/>\n  ensure that your content remains accessible by the widest possible user base without the need to<br \/>\n  sacrifice the more interactive features of Web 2.0 applications.\n<\/p>\n<h2 id=\"make-printer-friendly-versions-easily-available\" tabindex=\"-1\">Make printer-friendly versions easily available<\/h2>\n<p>\n  Web sites with highly interactive visual designs often provide all of the  content for a given<br \/>\n  story as a <i>printer-friendly<\/i> version. Generated from the same content as the interactive<br \/>\n  version, these are an excellent source of high-quality content for both the Googlebot as well as<br \/>\n  visually impaired users unable to experience all of the interactive features of a web site. But<br \/>\n  all too often, these printer-friendly versions remain hidden behind scripted links of the form:\n<\/p>\n<div><\/div>\n<p>\n  Creating actual URLs for these printer-friendly versions and linking to them via plain HTML<br \/>\n  anchors will vastly improve the quality of content that gets crawled.\n<\/p>\n<div><\/div>\n<p>\n  If you&#8217;re especially worried about<br \/>\n  <a href=\"https:\/\/alienroad.com\/google-bilgi-bankasi\/deftly-dealing-with-duplicate-content\/\">duplicate content<\/a><br \/>\n  from the interactive and printer-friendly version, then you may want to pick a preferred version<br \/>\n  of the content and submit a Sitemap containing the preferred URL as well as try to internally<br \/>\n  link to this version. This can help Google disambiguate if we see pieces of the article show up<br \/>\n  on different URLs.\n<\/p>\n<h2 id=\"create-urls-for-your-useful-content\" tabindex=\"-1\">Create URLs for your useful content<\/h2>\n<p>\n  As a webmaster, you have the power to <i>mint<\/i> URLs for all of the useful content that you are<br \/>\n  publishing. Exercising this power is what makes the web spin. Creating URLs for every valuable<br \/>\n  nugget you publish, and linking to them via plain old HTML hyperlinks will ensure that:\n<\/p>\n<ul>\n<li>Googlebot learns about that content,<\/li>\n<li>users can find that content,<\/li>\n<li>and users can bookmark it for returning later.<\/li>\n<\/ul>\n<p>\n  Failure to do this often forces your users to  have to remember complex click trails to reach that<br \/>\n  nugget of information they  know they previously viewed on your site.\n<\/p>\n<p class=\"byline-author\">\n  Written by<br \/>\n  <a href=\"https:\/\/emacspeak.sf.net\/raman\" rel=\"author\" class=\"external-link\">T.V. Raman<\/a>, Research Scientist<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Friday, May 09, 2008 As a follow-up to my previous posts on accessibility, here are some design recommendations for creating web content that remains usable by the widest possible audience while helping ensure that the content gets indexed and crawled. Avoid spurious XMLHttpRequest calls Pages that enable users to look up information often use XMLHttpRequest [&hellip;]<\/p>\n","protected":false},"menu_order":85992,"template":"","meta":{"footnotes":""},"ar_kb_kategori":[665],"ar_kb_etiket":[],"class_list":["post-23982","ar_kb","type-ar_kb","status-publish","has-post-thumbnail","hentry","ar_kb_kategori-blog"],"_links":{"self":[{"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_kb\/23982","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_kb"}],"about":[{"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/types\/ar_kb"}],"version-history":[{"count":0,"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_kb\/23982\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/media\/26596"}],"wp:attachment":[{"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/media?parent=23982"}],"wp:term":[{"taxonomy":"ar_kb_kategori","embeddable":true,"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_kb_kategori?post=23982"},{"taxonomy":"ar_kb_etiket","embeddable":true,"href":"https:\/\/alienroad.com\/wp-json\/wp\/v2\/ar_kb_etiket?post=23982"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}