Chapter 5

Watching Your Backend: Content Management System Troubles

In This Chapter

  • Meeting the content management system (CMS)
  • Avoiding the problems caused by dynamic URLs and session IDs
  • Selecting a good CMS
  • Making your CMS work with your search engine optimization (SEO) efforts
  • Using hosted e-commerce solutions effectively
  • Helping search engines read a website built completely in JavaScript

Behind every web page viewed in a browser is a host of technologies and services known as the backend that work to make the star performers look good. Just as a Hollywood blockbuster has a crew of people supporting the actors, your website has servers, code, shopping carts, and, most important, your content management system, which all must perform at their best to turn out a superior experience for your customers. A web content management system (CMS) is a software program that helps simplify website creation. A CMS uses a database (such as your database of products, if you have a store) and publishes web pages in an orderly, consistent fashion. One thing a CMS can do is pull information from your database and build pages dynamically, which means the pages don’t actually exist until someone asks for them. If you have 10,000 products, you don't want to build 10,000 individual pages by hand. Instead, you can use a CMS to build them dynamically on the fly.

In this chapter, you discover some common problems that may occur when using a CMS to build your website. For all their advantages, content management systems demand some attention to get in line with your search engine optimization (SEO) efforts. You also can discover some technical solutions that can help you overcome these CMS issues, such as rewriting URLs to have names that are more search engine–friendly. We also give you tips for picking a good CMS and how to modify its settings to work better for SEO. For those of you who use a hosted e-commerce solution for your website, like the Yahoo Store, we tackle how to optimize those product pages. Last, we warn you about the JavaScript website framework that is growing in popularity but risky for search indexing and rankings — along with what you can do to improve a JavaScript site’s SEO friendliness.

Avoiding SEO Problems Caused by Content Management Systems

Content management systems can be a website owner’s best friend. A CMS gets a website operational fast and keeps it running smoothly. It can manage data, image files, audio files, documents, and other types of content, and it puts them together into web pages. A CMS creates the pages based on templates, which are standard layouts that you design, so that your website has a consistent and cohesive look. Large sites that manage thousands of items use a CMS because it keeps everything organized and systematic. Small-site owners benefit because if they use a CMS, they don’t even have to know HTML (HyperText Markup Language, the predominant markup language used on the web): The CMS can do the technical work for them.

remember There is a catch, however. With automation comes a loss of control. When an airline pilot puts his plane on autopilot, the computer takes over completely and flies the plane according to a set course, adjusting things like altitude and speed based on its preprogrammed settings. If the plane needs to land unexpectedly, the pilot first has to take it out of autopilot mode. Otherwise, the autopilot stubbornly keeps the plane on its predetermined course.

Similarly, you don’t want to run a CMS on autopilot. In order to optimize your website for the search engines, you must be able to customize your pages down to the smallest detail, and catch and manage any machine-generated issues that work against your SEO efforts.

Understanding why dynamically generated pages can be friend or foe

If you have a store with several thousand products for sale, you don't want to create a page for each item by hand. Instead, you’re going to use a CMS to assemble web pages with product descriptions, pictures, prices, and other content pulled directly out of your product database. These dynamic pages look unique to the end user, but behind the scenes, they’re usually not.

remember For your pages to rank well in search engines, they must be unique. Search engines want to give their users a selection of relevant results. The search engine isn’t doing a very good job if half of the first ten search results all point to the same content. Instead, search engines try to give users a choice by offering results, each dealing uniquely with the keywords (the word or phrase the user searched for). So, the search engines are always on the lookout for duplicate content (web pages that contain some or all of the same text). When they identify duplicate content, they keep what they think is the most authoritative version and throw out the rest. Because of this, pages that are too similar run the risk of being excluded from search engine results pages (SERPs) altogether.

CMSs may create all kinds of duplicate content problems. If not looked after, they may build nontargeted content, or generic text that isn’t customized for your various subject themes and keywords. You want to make sure each and every one of your web pages has unique text for all parts of your web pages, including

  • Title tags: The Title tag is part of the HTML code behind each web page, and the search engines pay a lot of attention to it. The Title tag usually gets displayed as the bold heading in a SERP result, so it should specifically contain that page’s keywords.

    If you don’t specify otherwise, CMSs often put the same Title tag on every page. It might be the company name, the domain name (the root part of the website URL, such as wiley.com), or the company name plus a few keywords applied as one-size-fits-all.

  • Meta tags: Your Meta description and Meta keywords HTML tags also need to be different on every page. The Meta description is often what shows in your SERP result as the two-line description. The Meta keywords tag needs to contain the keywords that are specific to that page. Out of the box, your CMS can’t be trusted to build these Meta tags in an SEO-friendly way.
  • Headings: Your H# heading tags are HTML-style codes applied to your page’s headings and subheadings to make them stand out. The search engines look at these heading tags as clues to what a page’s main points are. They need to be keyword-rich and unique.

    A CMS may create heading tags that are generic (such as Features Overview or More Details) rather than specific and full of your targeted keywords.

Dealing with dynamic URLs and session IDs

Content management systems create pages that search engines may consider duplicates in another way, and that’s through dynamic URLs (the web addresses of pages, usually starting with http:// or https://).

There are ways to set up a CMS to build the URL string dynamically for every page request. Dynamic URLs created by a CMS often contain variables (characters that vary). When variables are added to the end of a URL, it forms a new URL. If the search engines think each URL is a distinct page, duplicate content issues may arise when the same content shows up under many different URLs.

Here are two common types of variables that CMSs often add to URLs, but there are many others:

  • Session IDs: Many CMSs add a session ID code to the end of URLs as a user travels through the site. The purpose is to track the user’s session (the time period the user has been active on the website), but appending the session ID to the URL causes every view of every page to have a different URL.
  • Categories: Products can be classified in many ways. For instance, an online shoe store could let users search by style, color, size, price, and so forth. Giving users many different paths to get to the same pair of shoes is good for your business and your users, but your CMS needs to handle it correctly. You don’t want the same product page to end up displaying under multiple URLs. For example, the two following URLs would both point to the same content, but the URLs differ because the CMS put the parameters for color and brand in a different order based on the user’s selection path:

    www.shoe-site.com/pumps.asp?color=red&brand=myers
    www.shoe-site.com/pumps.asp?brand=myers&color=red

There are many good reasons not to like dynamic URLs:

  • They can cause duplicate content. As we mention in the preceding list, you can end up with different URLs having the same page content because their parameters vary.
  • They aren’t user friendly. Dynamic URLs usually include query strings, which are the parts of a URL that pass data to a page. Query strings aren’t readable because they contain symbols (such as ?, &, and +) as well as codes, session IDs, and so on. They look messy or, worse, intimidating to your human visitors.
  • They’re long. Dynamic URLs with query strings end up being really long and cumbersome. These URLs are impossible to remember and difficult to type. Studies have shown that long URLs on search results pages aren’t clicked as often as shorter, understandable URLs, so your long URLs could actually be driving business away from your site.
  • They can confuse search engines. Static URLs (URLs that don’t change) are easy to crawl and index, and thus are preferred by the search engines. If a URL has a long string of parameters, the spider may just stop right there and not even crawl the page. (Note: The big three search engines have given webmasters a way to suggest what parameters to ignore.) So, if you’re using dynamic URLs, make the search engine spider’s job as easy as possible by setting up URL parameters to ignore in Google and Bing Webmaster Tools. We tell you about ways to set up URL parameters in the upcoming sections.
  • They could be bad for your SEO. If the search engines give up on an overly complex URL and don’t crawl your page, that page doesn’t end up in their indexes (databases of web pages that search engines maintain), which means that searchers won’t be able to find it.

remember The best condition for search engine optimization is to have one static URL per unique page. Where the page content remains unchanged, there should be no change to the URL. You don’t want to put any variables directly into your URL strings except for ones that actually correspond with changed page content. You need unique content for every URL.

Now that we’ve made a case against the use of dynamic URLs, we want to explain how you can compensate for them on your website.

Specify parameters to ignore in webmaster tools

One way to address the search engine indexing issues that result from parameters in dynamic URLs is to tell search engines any and all parameters to ignore. The major search engines have made it possible for you to tell them when parameters caused by dynamically loaded pages should be ignored for crawling and indexing purposes. This trick works in Google, Bing, and Yahoo by way of Bing. (As of 2009, Bing and Yahoo share the same crawlers and index.)

Know that the search engines already try to detect duplicate content caused by URL parameters. They group detected duplicate pages into a cluster and do some fancy detective work to pick the best URL to represent the cluster in search results. They also consolidate ranking and relevance signals to that page. If your parameters are kept to a minimum, the search engine is likely to pick the right version of the URL as the canonical, or preferred, version of a page. But the search engines are just machines, and they can get things wrong. It’s much better for you, the wise human webmaster, to tell the robots what URL is the canonical version of a page and which dynamically generated URLs are none of their business.

Bing’s Ignore URL Parameters tool is in the Configure My Site section of the free Bing Webmaster Tools (http://www.bing.com/toolbox/ webmaster). From here, you can submit the exact parameters that are causing multiple variations of a URL pointing to the same page. Here you also find parameters that Bingbot has come across while crawling your site and that it thinks may be safe to ignore. Just click the suggested parameter to add it to your list of URL parameters to ignore.

Google’s URL Parameters tool is also free to use as part of Google Search Console (https://www.google.com/webmasters/tools/crawl-url-parameters). From your site dashboard, go to Crawl and then URL Parameters in the navigation. From here, click Add parameter or select from the parameters listed. Google asks for a little more information here than Bing does. The next step is to indicate whether that parameter is active or passive. An active parameter changes the actual content displayed on the page, for example, by narrowing the page content the way a pagination parameter does. A passive parameter, which is commonly a session ID or affiliate ID, doesn’t impact the page. If the parameter you’re adding is passive, you click Save. If you’re adding an active parameter, next pick an option for how you want Google to treat the parameter. These are your options:

  • Let Googlebot decide: If you pick this, Google will do its best to decide whether to crawl and index the URL.
  • Every URL: This setting tells Google that you want every URL with this parameter to be counted as a separate page. So rather than eliminating duplicates, you tell Google that a page with this parameter is unique and worth indexing.
  • Only URLs with specified value: Choose this if you want Google to crawl only one value of a parameter with multiple value options. An example is if you want Google to crawl a page sorted by pricing from low to high and ignore the same page sorted by pricing from high to low.
  • No URLs: With this setting, Google won’t crawl any page if this parameter is in the URL.

Your last step in using the Google URL Parameters tool is to tell Google which version of a page with parameters is the canonical, your preferred version for serving in results and consolidating ranking signals. (Note: If the canonical page you specify has significantly different content than a URL with parameters, Google reserves the right to ignore your indications and keep the page indexed. Oh, that know-it-all Google.)

Rewriting URLs

Another option you have if your CMS insists on building URLs that are long and ugly, is to go over its head and rewrite the URLs at the web server layer. (The web server is the software application that runs your website, which receives each user request and serves back the requested pages to the user’s browser.) An advantage of this solution is that the search engines will never see the URLs with parameters and have the chance to crawl and index them (provided that redirects are in place and your URLs with parameters aren’t linked to anywhere).

At the server layer (the viewable layer, or how the URL appears to the user and to search engines), you can rewrite complex URLs as clean, concise, static-looking URLs. Rewriting doesn’t change the name of a physical file on your web server or create new directories that don’t physically exist. But rewriting changes the page’s URL on the server layer and appears on the presentation layer. So, for example, if you have a shoe website and your CMS spits out product pages that have long, parameter-laden URLs, like this:

http://www.shoe-site.com/product.cfm?product_id=1234&line=womens&style=pumps&color=navyblue&size=7

you could rewrite them to something simpler, like this:

http://www.shoe-site.com/womens/pumps/productname.cfm

Notice how much more readable the rewritten URL is. This directory structure shown is just an example, but it illustrates how you can potentially have the domain name, directories, and the filename give information about the web page. In this case, not only have you gotten rid of the ugly query string, but also the directories “women's” and “pumps” are short, understandable labels. People seeing this URL have a good idea what the web page contains before they even click to view it. Presenting a concise, informative URL like this to search engines can increase your web page’s ranking — you’ve basically got the makings of a keyword phrase right in the URL. Additionally, presenting this type of short, readable URL to users can also make them more likely to click to your page from a SERP, which increases traffic to your site.

The process of rewriting a URL is often called a mod_rewrite, which stands for module rewrite because that’s what it was originally called on the Apache server. Today, that term is used generally to refer to any URL rewrite, regardless of which server brand is involved. You need someone who’s trained to work with your server software to create mod_rewrites. If you're determined to try it out yourself, we list a few websites that you can look at for reference, based on your server:

remember When you rewrite web pages to new URLs, you also need to redirect the old URLs if they are already indexed with the search engines. (A redirect is a server directive that automatically forwards incoming links to a different page.) One SEO rule of thumb is that whenever you remove a page that’s been indexed, you must redirect it with a 301 (permanent) Redirect to another page. That way, the search engines and any visitors linking to the old page are automatically sent somewhere new. You also don’t lose the link equity (value of the incoming links, which the search engines count toward your page’s authority) from whatever links may exist on external websites that point to your old URLs. (We cover redirects in Chapters 3 and 4 of this minibook, so check those chapters if you want more information.)

Managing URL parameters for search engines in other ways

Here are some other solutions for dynamic URLs:

  • Remove session IDs. If your site passes session IDs through the URL string, you may be able to correct your CMS or server application so that it no longer does this (using cookies or some other technology). If that’s not possible, consider using user-agent sniffing to detect search engine spiders, or try the link rel=canonical tag that we discuss in Chapter 4 of this minibook. When the page detects a search engine spider, the exact same content could be displayed, but in a parameter-free URL instead.
  • Control the parameter order. Make sure your CMS allows for ordering logic. You need to specify the sequence of parameters in URLs. One product could fall into many different categories on your website, but no matter how the user navigates to find it, that unique product should have only one page at only one URL address.
  • Limit the number of parameters. If possible, keep the number of parameters being passed to a minimum. If you can limit it to one parameter in a URL, the search engines should be able to spider your pages and accurately detect a canonical version to show in search results. Plus users won’t find them too intimidating. Here’s a sample URL with one parameter:

    http://www.yourdomain.com/product.cfm?product_id=xyz

Choosing the Right Content Management System

Despite the extra maintenance a content management system may require to keep your site SEO-friendly, many websites simply can’t do without one. For large stores, social media sites, forums, and other sites that have a large amount of page content that changes frequently, a CMS that can produce a site dynamically is a practical necessity.

To ensure that a CMS won’t impede your SEO efforts, the main thing you want to find is a customizable system. You need to be able to change anything and everything on a per-page basis and not have your hands tied. SEO requires a lot of tweaking as you monitor each page’s performance, your competitors’ pages, the user experience on your site, and so forth. You must be able to modify a Title tag here, a Meta keywords tag there.

Here are some attributes to look for when you’re shopping for a CMS:

  • Customizable look and feel: This isn’t SEO really, but it’s important nevertheless — you want to be able to choose a “look” for your site that fits your subject matter and appeals to your audience. We've already discussed minimizing bounce rates and increasing conversions. If the design turns off your target visitors, or if it looks like a bunch of other sites, you’re sabotaged from the start. Be sure that you can modify the HTML templates (page layouts) and CSS styles (formatting of fonts and so on, using Cascading Style Sheets) so that you can ensure an appropriate look and feel that’s consistent throughout your site.
  • Mobile-friendly: If you plan to use a theme that the CMS offers to stylize the look of the site, make sure that it’s mobile-friendly. You likely want a responsive design that adjusts the navigation and layout of pages when visitors are on a mobile device. Book IV, Chapter 3 is dedicated to how to build a mobile-friendly site.
  • Ability to externalize CSS and JavaScript: Your CMS must be able to set up external JS and CSS files. You need to externalize it to keep your code nice and tidy and keep your pages running fast. Plus, if your CSS is externalized, you have to make changes to only one file instead of hand-editing every single page each and every time you want to tweak the look of your site.
  • Customizable directory structure: You want to be able to control how your files and directories are organized. Ideally, when you categorize your website into subject themes (which we call siloing), it’s reflected in the physical file structure, as well as in your internal linking scheme. Deciding how to categorize your website is an SEO activity, based on how people search and what brings in the most traffic. You don’t want your CMS dictating, for example, that your files should be organized by brand and then by product type, if your SEO research tells you that you’ll get more search traffic organizing by product type and then by brand. (For more on how to silo your site, see Book VI.)
  • Customizable page elements: Your CMS must allow you to customize the Title tag, Meta description tag, Meta keywords tag, H# heading tags, link anchor text, image Alt attributes, and every other element on your pages. You need this flexibility for every page, whenever you see fit.
  • Customizable HTML output: You need to be able to control the HTML output of pages on your site. How the HTML is structured matters because that’s where the search engine spiders crawl. You want to control, for example, the order of tags in the Head section (Title at the top, followed by description, keywords, and then any other Meta tags you need). You may also need to do content stacking, which moves large blocks of HTML coding down to the bottom of the page so that the spiders can get to your rich text content as soon as possible. You want to ensure the other SEO-friendly guidelines are followed, such as using an external CSS file to control formatting and an external JS file to house JavaScript if that’s used on your site.
  • Ability to include analytics tracking codes: You need to know what’s happening to your site, where your visitors are from, where they're going, and how they behave. You also need to follow each visitor through a conversion.
  • Customizable rules: Your CMS should let you specify rules that can be applied across lots of pages at once, especially if you have a site with thousands of products. You don’t want any factory presets spitting out the same Title tag on every page, for example. Instead, you should be able to write a rule for how each product page’s Title tag should be created to ensure each tag is unique and SEO-friendly (for example, Item Category Brand or Category Item), and you should have the ability to change any element by hand if deemed necessary.

tip Customization is crucial for your search engine optimization. You need a CMS that allows for customization of every single element on your website. Period. You also want a website that loads fast, provides a good mobile experience, and lets your pages be easily spidered — also issues that can come down to your CMS. Google has created a guide to help site owners ensure SEO and mobile friendliness for the most popular CMSs, including WordPress, Drupal, Magento, and Joomla! (https://developers.google.com/webmasters/mobile-sites/website-software/).

Customizing Your CMS for SEO

The shopping list we just laid out can help you pick out a good CMS if you plan to purchase one. Or, if you already have a website that runs on a CMS, the preceding section should help you figure out the strengths or weaknesses of that purchase. Better yet, if your site doesn’t have lots of changing content, you can avoid the CMS issue altogether and code the whole website from scratch! But for those websites that need a content management system, this section gives you tips for making your CMS work for you.

The two main principles are

  • Set up rules that make every page have the ability to exist with unique SEO elements.
  • Customize these individual page elements as needed to optimize them against the competition for the search engines.

Creating rules for each of your important SEO elements is a key part of making a CMS work for you. You should be able to define how the CMS puts together the Title tags, Meta description and keywords tags, heading tags, hyperlink anchor text, image Alt attributes, and everything else on your pages.

For instance, if you have an e-commerce store, you have many fields in your database that pertain to each product, such as the product name, product ID, and product description. You’ve also done some categorization work and probably have each product assigned to a product category, style, type, size, color, flavor … you get the idea.

tip Often, manufacturers require that all retailers use their predefined product descriptions. You might be struggling with this very same problem because obviously it's hard to rank well for product searches if your page just duplicates the same text shown on countless other sites. Here’s what we suggest you can do to make your product pages stand above the rest:

  • In addition to the mandatory product description, include more descriptive text on the product page itself. How-to instructions, useful historical information, even just a paragraph about a hands-on viewpoint are all options for adding keyword-rich content.
  • Make sure that you fully optimize the other on-page factors and use these to help increase keyword effectiveness on the page.
  • Make sure that the image Alt attribute is unique and contains keywords.
  • Customize the Title, Meta description, and Meta keywords tags on the page.
  • Enable users to write product reviews on your site. User-generated content (UGC) adds text about the product in the users’ own words, which can potentially match more search queries and adds more unique content to a page.

Create rules that define how the Title tag, Meta description tag, and Meta keywords tag should be put together on each product page. These rules should produce tags that meet the best practice guidelines for SEO, including the proper length, capitalization, ordering, and so on. (You can find best practice details in Book V, Chapter 3.)

Also, create rules that apply H# heading tags appropriately throughout your page. Headings should be hierarchical, with an H1 at the top of the page and other heading tags (H2, H3, and so on) throughout the page. Search engines look at the heading tags to confirm that the keywords shown in the Title and Meta tags at the top are accurate, so make sure that they contain the page’s main keywords and are unique to that page.

You should specify rules for every output element possible. You want to take advantage of the CMS’s ability to automate your site, but you also want to control that efficiency. Make sure that your resulting site is search engine–friendly and user-friendly, full of pages that are each unique.

After you have rules set up for how the CMS should construct your pages, the second part is customization. You should be able to tweak individual pages, applying all the SEO principles covered throughout this book as needed. Here are a few scenarios to consider:

  • Single-page tweaking: Your online shoe store might carry a shoe that’s a hot seller in brick-and-mortar stores, but for some reason, you aren’t getting much traffic for it online. You might want to do some competitive research and keyword research, and then manually modify the keywords in the tags and body copy of that particular product page to see if you can improve sales through that page. (You could also consider creative marketing options to attract more business for that product, such as adding supporting pages with articles, video, images, reviews, links, and so on.)
  • Long-tail keyword targeting: If your tags and headings contain specific product information, this information helps you rank well for long-tail queries (search queries that contain multiple specific terms, rather than generic words). For instance, someone who searches for a particular shoe by using a specific search such as [Rockport Navigation Point brown] tends to be a serious shopper ready to make a purchase. You want to optimize your pages for long-tail queries because the low amount of traffic they generate is offset by the high potential for conversion. Make sure that your CMS doesn’t build only generic tags and headings.
  • Generic word targeting: To balance out the preceding scenario, you also may want to bring in more traffic to your site by optimizing for generic words and phrases. For instance, the pages on your shoe store site that have Rockports could also be optimized for the phrases [Rockport shoes] or [mens shoes] or [leather shoes]. In those cases, you want the ability to tweak certain things on the individual pages in order to rank for generic keywords as well and to capture more traffic to your site.

SEO is often a balancing act. Those last two bullet points illustrate this — these two scenarios explain why you want to optimize the same shoe product page for specific (long-tail) keywords and for generic keywords simultaneously. To practice effective SEO, you must be able to override the default output created by the CMS and modify individual pages as needed.

Optimizing Your Hosted E-Commerce Site

Many service providers make it easy for people use to set up an e-commerce storefront quickly. Online options for proprietors range from joining an online marketplace (like Etsy for retailers and Fiverr for those offering creative services) to building your own website. You can run your online storefront on your own domain; some e-commerce platforms offer store owners design templates, easy wizards for inputting products, and functionality to accept credit card, debit card, and PayPal payments. These e-commerce content management systems come in two flavors: hosted and self-hosted. With a self-hosted e-commerce platform, you get software to build and manage your site, but you have to get your own web host. One popular self-hosted e-commerce CMS is Magento. The SEO concerns and considerations for such websites are covered throughout this chapter.

What you should know about SEO considerations of a hosted e-commerce solution (which means that the same company that you use to create and manage your website also hosts it) is a little different. The biggest difference affecting your SEO campaign if you’re using what’s sometimes called an e-commerce service system is a loss of flexibility — you’re limited to the constraints of the shopping cart software and the provided hosting. On the upside, a hosted e-commerce platform is an attractive solution for small and mid-sized retailers because it gives you just one vendor to turn to for all website support. Hosted e-commerce platforms include Yahoo Small Business (https://smallbusiness.yahoo.com/ecommerce), Shopify (www.shopify.com/), Squarespace (www.squarespace.com), and Wix (www.wix.com).

If you’ve got a site built with a hosted e-commerce service, read on: This section shows you how to get the most SEO value out of your hosted online store.

It is possible to make a hosted store rank highly for certain keywords. You can modify things, such as the look of the site, the domain name, and some of the important page elements. When you’re researching hosted e-commerce solutions, check to see whether you have control over as many of the following as possible:

  • Domain name: If you want your store to rank in the search engines, you should use your own domain. Register a good domain name (see Chapter 2 of this minibook for some guidelines) and then set up your store using the platform’s provided domain settings.
  • Title tags: Because the Title tag is a key indicator to the search engines of what your page is about, you want the ability to customize what shows up in your Title tags so that they are each unique, have an appropriate length, and contain the keywords you’re trying to rank for in the search engines. A good hosted e-commerce solution lets you edit your Title tags individually and manually.
  • Meta tags: A hosted platform may create Meta description and Meta keywords tags by default. You’ll want the ability to modify them as needed.

    For guidelines on how to write effective Title, Meta description, and Meta keywords tags that help your pages rank with the search engines, see Book IV, Chapter 4.

  • Custom URLs: Being able to control the URLs to include keywords, make sure that they’re not too long, and support your themed architecture is important for SEO.
  • Organization of products by category: For siloing (a way of organizing your content into themes through site architecture and linking, covered in Book VI), you want to be able to separate products into categories.
  • 301 Redirects: You want to be able to put in place 301 Redirects, the best way to tell search engines that a page has been removed and replaced by a new page.
  • Robots text (robots.txt) file: Your robots.txt file instructs the search engine spiders which pages not to index and where to find your sitemap (a file that lists the pages in your website, linked so that spiders can easily navigate). An SEO-friendly hosted store will let you customize your robots.txt file.
  • Sitemap: An XML sitemap page that’s invisible to users but available to the search engines is critical to getting your site crawled and indexed by search engines. Check that your hosted e-commerce platform generates and links a proper sitemap.xml, listing every single URL on your site. If you choose to use a JavaScript-heavy template, the XML sitemap should allow for complete indexing of all pages. See what a sitemap should do in Book VI, Chapter 3.
  • Custom 404 Error page: Understand how your hosted store handles the 404 server status (the error code that means the page isn’t found) when a user tries to access a page that doesn’t exist. You want control over the content of the 404 Error page and where error pages may redirect. (For help building a custom 404 Error page, see Chapter 1 of this minibook.)

Avoiding Problems with JavaScript Frameworks

JavaScript frameworks are the new kid on the block in the web development world and are growing in popularity among developers. This method of building a website or application is attractive because JavaScript is a programing language that allows for interactive effects that can look cool and impress your visitors. In the last few years, advancements in modern browsers like Mozilla Firefox and Google Chrome make processing and rendering JavaScript faster than ever. That’s why today it’s possible to build a whole website or application in JavaScript. But hold your horses! Possible is not the same as recommended, and a website built in a JavaScript framework is problematic from a search engine ranking and visibility standpoint.

To understand the problem, you need to understand that JavaScript frameworks are rendered in the browser only. This is different from traditional web frameworks and content management systems, in which every page load is a separate request to the server. When a website is built in a JavaScript framework, the HTML and content are fetched via JavaScript and put together by the browser. This causes problems for search engine bots.

For one thing, search engine bots don’t get the HTML with all the data and content in it. Instead, search engines may see an empty shell of HTML. Among all the search engines, Google has made strides in the area of rendering JavaScript, but even Google crawlers can’t execute it the same way a browser does. If your site is rendered in JavaScript, search engines could miss your content and index your pages with as little as an empty HTML template. To see how much of your JavaScript site is lost to Google, use the handy Fetch and Render tool found within the Crawl reports in Google Search Console. Free for all site owners at www.google.com/webmasters/tools/, the tool simulates what Googlebot does when it arrives at your web page. (Checking to see your site as Google sees it is covered more in Book IV, Chapter 5.) But don’t forget that there are more search engines than Google, and a website built in a JavaScript framework is definitely not friendly to them.

Another issue for your site’s search engine rankings is that URLs in this scenario are either not unique or are absent altogether in the case of single-page websites. When a JavaScript application needs to get more data, it uses an AJAX request, which doesn’t require a reload of the page to get the data from the server. This means that links to other “pages” and other general assumptions about navigation are thrown out the window! When an entire website’s content is essentially contained on one URL, you can’t organize content into themed silos with landing pages and support pages. You can’t create pages with keyword-specific optimization. You’re basically losing the ability to do all the SEO best practices. Ouch.

If your website falls into the category of a JavaScript framework, all is not lost. You have some ways to help make your website more search engine friendly.

  • The best way by far is to pre-render your content. Pre-rendering means to give a static, fully rendered HTML copy of your page to the search engines. You can either pre-render your content manually or use a service like Prerender.io (https://prerender.io/). Basically, you create a copy of your page as JavaScript renders it in a browser by taking HTML “snapshots” and then make those snapshots available to search engines in a specific way. You can find more info in the Google Developers guide to making AJAX applications crawlable: https://developers.google.com/webmasters/ajax-crawling/.
  • Make sure that links go to unique URLs. Make an initial static copy of your content or a pre-rendered version of that content available at those URLs.
  • Put initial content into the pages. This way the search engine will get something — even if it’s not everything.

We generally counsel you to stay away from JavaScript frameworks if you want to rank well. But if you have a JavaScript site and are sticking with it, take the steps to help get your content indexed and make ranking possible.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.227.134.232