SEO of Pagination using rel="next" rel="prev" HTTP Headers - seo

I am trying to perform some SEO on a pagination control I have on a website.
Following the Google guidelines, I would like to add link rel=next/prev i.e. <link href="/search/results?page=2" rel="next" /> to the <head> of my search results page.
Unfortunatley, due to a design decision / limitation of MVC3 with rendering sections and defining their content within Partials, I'm unable to do this.
So my question is - can I replicate the aforementioned functionality by adding a "Link" HTTP header, i.e. Link: <http://www.example.com/search/results?page=2>; rel="next" to the response and therefore not have to add the <link> tags in the <head>?

This was answered by Maile Ohye.
#estrik: We support rel=”next” and rel=”prev” in the HTTP header. For example, for page=2 of an article, you could respond with the HTTP header:
Link: http://www.example.com/article?story=abc&page=1; rel="prev"
Link: http://www.example.com/article?story=abc&page=3; rel="next"

Referring to this post from a Google employee rel=prev/next in the HTTP header is supported by Google

At the moment, I'm pretty sure they aren't supporting that, as they aren't support having the rel attribute on the anchor either.

Related

Google URL Parameter tool - what to exclude?

Situation: Site built on OpenCart, which utilizes faceted navigation.
Problem: Google Webmaster Tools' "URL Parameters" tool reports a huge number of URLs with parameters like "sort", "order", "limit", "search", and "page.
I would like to exclude them, but I'm worried about 2 things:
1.) Maybe there's a better way to handle this issue? Exclusion directives in robots.txt? Something else? I.e. fixing the problem on the site, before Google detects it in the first place.
2.) I don't want to accidentally exclude actual content.
So... anyone familiar with SEO and/or OpenCart, please give me a 2nd opinion on which of these parameters I should exclude, or change the settings for?
Thanks!
I'm not aware of a robots.txt option. But you might sovle this using http headers and/or html headers.
You could set <META NAME="ROBOTS" CONTENT="NOINDEX, FOLLOW"> for duplicate pages in HTML header (cf. http://www.robotstxt.org/meta.html).
Another approach could be to provide canonical URLs (e.g., in HTML header or HTTP headers, cf. https://yoast.com/rel-canonical/, https://support.google.com/webmasters/answer/139066 and https://support.google.com/webmasters/answer/1663744).

Website Deep Products links not indexing In Google

I am working on one website, I have set all the required this for seo and looks all things are fine.
►But from long time, I have seen that deep product links are not going to index in Google as well some of the catagory pages.
Here is the site https://www.tradohub.com
What should I do for Google to index my web site? if someone can help.
Thanks
You have a canonical tag issue with your internal pages.
Let's take this page as an example...
https://www.tradohub.com/product-detail/raw-cashew-nuts
Reading the source code you have a canonical of...
<link rel="canonical" href="https://www.tradohub.com/" />
This tells search engines the page is a copy of the home page URL so will most likely not get indexed.
The canonical should be...
<link rel="canonical" href="https://www.tradohub.com/product-detail/raw-cashew-nuts" />
The canonical tags are the issue here so best fix them up.
Here's Google's info on the subject. https://support.google.com/webmasters/answer/139066?hl=en
Hope this helps.
William

How to make a custom LinkedIn share button

I need to be able to add sharing functionality to my custom button. I'm not interested with their generator, as I can't change LinkedIn image there. I want to use my own image for the LinkedIn share button.
Official LinkedIn API for sharing:
https://developer.linkedin.com/docs/share-on-linkedin
Read Terms of Use!
Example link using "Customized URL" method: http://www.linkedin.com/shareArticle?mini=true&url=https://stackoverflow.com/questions/10713542/how-to-make-custom-linkedin-share-button/10737122&title=How%20to%20make%20custom%20linkedin%20share%20button&summary=some%20summary%20if%20you%20want&source=stackoverflow.com
You just need to open it in popup using JavaScript or load it to iframe. Simple and works - that's what I was looking for!
EDIT: Video attached to a post:
I checked that you can't really embed any video to LinkedIn post, the only option is to add the link to the page with video itself.
You can achieve it by putting YT link into url param:
https://www.linkedin.com/shareArticle?mini=true&url=https://www.youtube.com/watch?v=SBi92AOSW2E
If you specify summary and title then LinkedIn will stop pulling it from the video, e.g.:
https://www.linkedin.com/shareArticle?mini=true&summary=youtube&title=f1&url=https://www.youtube.com/watch?v=SBi92AOSW2E
It does work exactly the same with Vimeo, and probably will work for any website. Hope it will help.
EDIT 2: Pulling images to the post:
When you open above links you will see that LinkedIn loads some images along with the passed URL (and optionally title and summary).
LinkedIn does it automatically, and you can read about it here: https://developer.linkedin.com/docs/share-on-linkedin#opengraph
It's interesting though as it says:
If Open Graph tags are present, LinkedIn's crawler will not have to
rely on it's own analysis to determine what content will be shared,
which improves the likelihood that the information that is shared is
exactly what you intended.
It tells me that even if Open Graph information is not attached, LinkedIn can pull this data based on its own analysis. And in case of YouTube it seems to be the case, as I couldn't find any Open Graph tags added to YouTube pages.
You can make your own sharing button using the LinkedIn ShareArticle URL, which can have the following parameters:
https://www.linkedin.com/shareArticle?mini=true&url={articleUrl}&title={articleTitle}&summary={articleSummary}&source={articleSource}
You can find the documentation here, just choose "Customized URL" to see the details.
Step 1 - Getting the URL Right
Many of the answers here were valid until recently. For now, the ONLY supported param is url, and the new share link is as follows...
https://www.linkedin.com/sharing/share-offsite/?url={url}
Make sure url is encoded, using something like fixedEncodeURIComponent().
Source: Official Microsoft.com Linkedin Share Plugin Documentation. All LinkedIn.com links for developer documentation appear to be blank pages now -- perhaps related to the acquisition of LinkedIn by Microsoft.
Step 2 - Setting Custom Parameters (Title, Image, Summary, etc.)
Once upon a time, you could use these params: title, summary, source. But if you look closely at all of the documentation, there is actually still a way to still set summary, title, etc.! Put these in the <head> block of the page you want to share...
<meta property='og:title' content='Title of the article"/>
<meta property='og:image' content='//media.example.com/ 1234567.jpg"/>
<meta property='og:description' content='Description that will show in the preview"/>
<meta property='og:url' content='//www.example.com/URL of the article" />
Then LinkedIn will use these! Source: LinkedIn Developer Docs: Making Your Website Shareable on LinkedIn.
Step 3 - Verifying LinkedIn Share Results
Not sure you did everything right? Take the URL of the page you are sharing (i.e., example.com, not linkedin.com/share?url=example.com), and input that URL into the following: LinkedIn Post Inspector. This will tell you everything about how your URL is being shared!
This also pulls/invalidates the current cache of your page, and then refreshes it (in case you have a stuck, cached version of your page in LinkedIn's database). Because it pulls the cache, then refreshes it, sometimes it's best to use the LinkedIn Post Inspector twice, and use the second result as the expected output.
Still not sure? Here's an online demo I built with 20+ social share services. Inspect the source code and find out for yourself how exactly the LinkedIn sharing is working.
Step 4 - Finding More Social Sharing Services and Their Share URLs
I have been maintaining a Github Repo that's been tracking social-share URL formats since 2012, check it out: Github: Social Share URLs.
Why not join in on all the social share url's?
Its best to use customize url approach. And its the easiest. Found this one. It will open a popup window and you dont need any bs authentication issues because of w_share and all.
<a href="https://www.linkedin.com/shareArticle?mini=true&url=http://chillyfacts.com/create-linkedin-share-button-on-website-webpages&title=Create LinkedIn Share button on Website Webpages&summary=chillyfacts.com&source=Chillyfacts" onclick="window.open(this.href, 'mywin', 'left=20,top=20,width=500,height=500,toolbar=1,resizable=0'); return false;">
<img src="http://chillyfacts.com/wp-content/uploads/2017/06/LinkedIN.gif" alt="" width="54" height="20" />
</a>
Just change the url with your own url. Here is the link http://chillyfacts.com/create-linkedin-share-button-on-website-webpages/
The API is updated now and the previous API will be deprecated on 1st March, 2019.
To create a custom Share button for LinkedIn, you need to make POST calls now. You can read the updated documentation here for doing so.
LinkedIn revised their site recently, so there are a ton of old links just redirecting to the developer support homepage. Here is an updated link to the relevant page on LinkedIn's support site (as of Feb 16, 2015): https://developer.linkedin.com/docs/share-on-linkedin
LinkedIn has updated their api and the sharing url's no longer works. Now you can only use the url query parameter. Any other parameter is going to be removed from the url by LinkedIn.
Now you're forced to use oAuth and interact with the linkedin API to share content on behalf of a user.
This works for me:
https://www.linkedin.com/shareArticle?mini=true&url=articleUrl&title=YourarticleTitle&summary=YourarticleSummary&source=YourarticleSource
You can use this link by replacing it with your content. It works 100%.
You can customize the standard Linkedin button like this, after the page load:
$(".IN-widget span:first-of-type").css({
'border': '2px solid #DCDCDC',
'-webkit-border-radius': '3px',
'-moz-border-radius': '3px',
'border-radius': '3px'
});

Search Engine Website Index Description?

For example when you Google "stackoverflow" the first result links to http://stackoverflow.com with a description, "A language-independent collaboratively edited question and answer site for programmers."
How is Stack Overflow or any other site working to set that description? I am about to put a website online and would like to get a good description of my site indexed. What steps do I need to take to accomplish this?
One way of achieving this is by using the <meta name="Description"> tag as such:
<head>
<meta name="Description"
content="A language-independent collaboratively edited question and answer site for programmers.">
</head>
On SO, that tag seems to appear only when you are using a user agent related to a crawler.
It's a bit hit and miss as to whether Google displays it but these are set using the 'description' meta tag on each page. If Google doesn't think your entire page is relevant to the search query, it will show a 'snippet' instead. Keep your meta description short and relevant (and non-spammy) and it should show within a day or so of being crawled by Google.
Hope that helps
Google has a help page on the subject of site descriptions.
For your own site, you may also want to add a site map for google and others to use.

Google Webmaster Tools - Remove query parameters from URL

I am using JBoss Seam on a Jetty web server and am having some issues with the query parameters breaking links when they appear in google searches.
The first parameter is one JBoss Seam uses to track conversations, cid or conversationId. This is a minor issue as Google is complaining I am submitting different urls with the same information.
Secondly, would it make sense to publish/remove urls via the Google Webmaster API instead of publishing/removing via the sitemap?
Walter
Hey Walter, I would recommend that you use the rel=canonical tag to tell the search engines to ignore certain parameters in your URL strings. The canonical tag is a common standard that Google, Yahoo and Microsoft have committed to supporting.
For example, if JBoss is creating URLs that look like this: mysite.com?cid=FOO&conversationId=BAR, then you can create a canonical tag in the section of your website like this:
<html>
<head>
<link rel="canonical" href="http://mysite.com" />
</head>
</html>
The search engines will use this information to normalize the URLs on your website to the canonical (or shortest & most authoritative) version. Specifically, they will treat this as a 301 redirect from the URL of the HTTP request to the URL specified in the canonical tag (as long as you haven't done anything silly, like make it an infinite loop, or pointed to a URL that doesn't exist).
While the canonical tag is pretty fricken cool, it is only a 90% solution, in that you can still run into issues with metrics tracking with all the extra parameters on your website. The best solution would be to update your infrastructure to trap these tracking parameters, create a cookie, and then use a 301 redirect to redirect the URL to the canonical version. However, this can be a prohibitive amount of work for that extra 10% gain, so many people prefer to start with the canonical tag.
As for your second question, generally you don't want to remove these URLs from Google if people are linking to them. By using the canonical tag, you achieve the same goal, but don't loose any value of the inbound links to your website.
For more information about the canonical tag, and the specific issues & solutions, check out this article I wrote on it here: http://janeandrobot.com/library/url-referrer-tracking.
Google Webmaster Tools will tell you about duplicate titles and other issues that Google see that are being caused by "duplicates" that are really the same page being served up with two different URL versions. I suggest trying to make sure the number of errors listed in Webmaster Tools account under duplicate titles is as close to zero as possible.