4

I redesigned a website as a one-page scrolling site but now the sitelinks that appeared in Google search results are no longer there (ie- "About" "Contact Us")

The site is set up with anchored links with similar sections as before (ie example.com#about) but these sections not coming up in Google Search Results.

Is there a way to get these sitelinks pointing to the different sections of the one-page scrolling site to come up? I tried creating blank pages with URL's like example.com/about and redirecting to example.com#about but these new pages are still not coming up. I definitely do not want to be penalized for double content.

This is a WordPress website utilizing Yoast SEO.

Sathiya Kumar V M
  • 2,938
  • 4
  • 22
  • 31
njpatten
  • 41
  • 1
  • 2

3 Answers3

3

I can personally confirm that at least as of today, google will add jumplinks for singlepage scrolling sites...but I have not found a way to get sitelinks for a single-page site.

To get jumplinks working you should have:

  • anchors href="#idOfContent" with anchor text (or alt text for image links) which you want to show on google as a jumplink.
  • document elements with corresponding IDs to the URL fragment.

In the example below the jump links are Section Title 1,3,4:

example google sitelinks

details...

I thought I had "site links" but apparently only have "jump links" for my single page site.

Jump links are provided for single page sites if you have the anchors and things setup properly. Haven't found any docs from google about them yet though which is strange.

If your single page site uses url fragments (#sectionid) you may be out of luck for site links. However there are some client-side js frameworks ("single page app" type stuff) that can work with normal URIs (e.g. /path/to/page). Basically you configure your webserver (nginx or whatever) to return the same file for every URI requested. The client-side javascript parses the current URI and decides which content to load...for instance load same content but different section is at the top of the window.

The problem with this is that google will see the same content on all these supposedly different pages (different URIs) and will likely penalize you in search results or only show one of your pages. So if it is really a Single-Page-App, just make sure each URI is displaying different content and not just scrolling to different content.

The other problem is that if you really just have a single page scrolling site...using in-page links with url fragments is really the right way to do it as url fragments are intended to link to a location within a single document (think table of contents at top linking to specific sections farther down in page/document).

Another potential problem with a Single-Page-App using different URIs (/path/to/content rather than /app#contentId) is that web browsers will think these are all different pages and cache them independently even though your webserver may be returning the same app content/code for all the different requests and only fetching unique content on subsequent requests.

Moral of the story:

single page site with jumplinks is great for very basic marketing/corporate websites where you don't have that much content. However as your site content expands it really does make sense to add more pages in order to group similar content together (e.g. products page, pricing page, login page, etc would make sense to be different than the home page).

If you have a "single page app" that is really a multi-page site (google search docs (3) calls this the app shell model)... then you should do what I suggested above and have your singlepage app use the URI instead of the URL fragment to determine which content/page to show. Different URIs should show different content, different page titles, different page meta descriptions, etc.

Don't confuse sitemaps (e.g. sitemap.xml) with sitelinks.

Sitelinks are a google-specific thing which are sub-links to individual pages/sections under your main website search result.

sitemap.xml is a data file describing all the pages in your site making it easier for code/bot to understand and discover your site pages without having to "crawl" (fetch starting page, execute javascript, find/parse links, follow links to new pages and repeat).

sitemap (sitemap.xml)

Google Webmaster tools will allow you to submit a sitemap. This is really only necessary if for some reason you think that google's crawler may have trouble discovering all your pages.

This is most likely to be a problem if you are using javascript based navigation, using javascript to render your links at some point after page load or are using non-standard markup for links/navigation. You will also have problems providing a sitemap if you cannot provide a list of unique urls that each load unique content (e.g. because your content only changes in response to javascript function calls).

Providing google webmaster tools a sitemap will help their crawler to discover your pages in order to crawl them (ie if for some reason google can't find all your pages via following links from your home page).

If google can't find/crawl your pages without a sitemap.xml...then this will of course prevent google from generating sitelinks. Besides that sitelinks and sitemaps are not related.

...when you have content not readily linked by other pages, such as new pages or obscure information, you can help our system learn about your URLs by providing them in a list, known as a sitemap. (2)

sitelinks

According to google (1) the sitelink generation process is automated based on their proprietary algorithms. This means you can't force sitelinks to show up, you can just try to do the right technical things to enable google to show sitelinks if they decide they want to.

Google may draw the content of sitelinks from page titles, anchor text (or alt text for image links), page meta-data, etc.

I like to think of sitelinks as just a way for Google to visually compress multiple search results from the same site into a single group result.

mattpr
  • 131
  • 2
2

It's likely google won't index sections of one page as separate entries in search results as it could provide a rather poor user experience.

I definitely wouldn't want to use google to search for something, only to find that I'm clicking on the same website over and over again and appearing only in different sections on the same page.

It's more likely that users would search for something then enter a link and read the page from top to bottom while skimming sections they don't want to see. Those users would not like to click on a link with different text that takes them to the same site again after reading it the first time.

If you want your links indexed, you need to make them as separate pages with unique content.

Mike -- No longer here
  • 13,650
  • 5
  • 29
  • 63
1

I have used multiple paralax and single paged WordPress themes over the years.

Using anchor text to link to the content from the menu is definitely the way to do it properly.

When it comes to indexing the content separately you would want to have a page created, dedicated and optimized for that specific content. Hopefully the content is elaborate..

On the main page of the website use excerpts of the content from the various pages you would like to highlight, then link to those pages from within the excerpt on the main (home) page.

There are some specific themes that can assist with this: for example, if you're using Genesis framework they have a series of widgets for use on your front page for featured page or featured post(s).

Alternately there are several plugins that will offer you similar functionality within your website: https://wordpress.org/plugins/tags/featured-page

John Conde
  • 86,484
  • 28
  • 150
  • 244
orionsweb
  • 81
  • 1
  • 3