Moz Q&A is closed.
After more than 13 years, and tens of thousands of questions, Moz Q&A closed on 12th December 2024. Whilst we’re not completely removing the content - many posts will still be possible to view - we have locked both new posts and new replies. More details here.
Duplicate Content with ?Page ID's in WordPress
-
Hi there,
I'm trying to figure out the best way to solve a duplicate content problem that I have due to Page ID's that WordPress automatically assigns to pages. I know that in order for me to resolve this I have to use canonical urls but the problem for me is I can't figure out the URL structure.
Moz is showing me thousands of duplicate content errors that are mostly related to Page IDs
For example, this is how a page's url should look like on my site
Moz is telling me there are 50 duplicate content errors for this page. The page ID for this page is 82 so the duplicate content errors appear as follows
and so on. For 47 more pages. The problem repeats itself with other pages as well.
My permalinks are set to "Post Name" so I know that's not an issue.
What can I do to resolve this? How can I use canonical URLs to solve this problem. Any help will be greatly appreciated.
-
this might do it as well
A flexible pattern URL mapping is a way of redirecting all URLs that match a particular pattern, to equivalent destination URLs, using a single mapping. It does this by allowing you to parse out and name portions of the requested URL to substitute into the destination URL. These types of URL mappings are useful when you are changing the structure or format of your URLs, but want to make sure you can redirect requests for pages under their old URL structure to their new URLs.
An example of a flexible pattern URL is the following:
/myblog/:post-year/:post-month/*rest-of-url?id=:post-id
Each portion of the URL above that starts with a colon (:) creates a named component that is matched until the next delimiter character (./=&?), and any portion that starts with an asterisk (*) creates a named component that is matched until the end of the URL (up to the query string).
The named components can then be used in the URL mapping's destination, with each name included inside of curly braces. For example, the named components defined in the flexible pattern URL above could be used to create the following destination:
/newblog/{post-year}/{post-month}/post-{post-id}/{rest-of-url}
To demonstrate how this flexible pattern URL mapping would work, let's consider the following example requested URL and where it would be redirected. The named components in the requested and destination URLs are highlighted.
Requested URL: http://www.mydomain.com/myblog/2013/12/marketing/inbound-marketing-rocks?id=98765
Redirected to: http://www.mydomain.com/newblog/2013/12/post-98765/marketing/inbound-marketing-rocks
With this pattern-based URL mapping we were able to retain all of the important, identifying parts of the original URL and insert them into the new URL structure. In addition, with this particular mapping, we were able to:
- capture the variable-length {rest-of-url} component (i.e. marketing/inbound-marketing-rocks) to be used in the destination url, by using an asterisk (*) at the beginning of that component's definition
- move the {post-id} component from the query string in the original URL into the middle of the URL in the destination
-
you may want to remove the flash file from the website. It is not compatible with iPhones and flash is really something I would stay away from on websites.
This is flash
http://www.spamedica.com/wp-content/themes/spamedia/flash/spamedica_flash.swf
See why that's not good
http://www.browserstack.com/screenshots/46bca267a16b8726a26c7438e76317ef51b877be
Try
http://www.browserstack.com/responsive
Here's an example of the exact same thing using the gif
http://cl.ly/image/2t2d470b3A2F/Screen Recording 2014-09-23 at 12.58 PM.gif
iPhone
The http://www.siteground.com/ your host is great for shared hosting
your IP
181.224.137.194 - 126 other sites hosted on this server
I honestly would give them a call and have them correct your htaccess file
However if you want something that's going to be faster and focused 100% on WordPress use manage WordPress hosting provider. Like GetFlywheel you get your own VPS only one site per an IP no shared resources and this type of stuff is never a problem for them to fix.
You can migrate 100% free in addition.
Overall I would say that your site needs some TLC
http://tools.pingdom.com/fpt/#!/exa05N/http://www.spamedica.com/
you have over 100 requests and your server does a good job of catching after it's been loaded but not that much prior to so the 1st visit will be slow.
Most important part is it needs to be responsive and work properly on mobile devices.
that includes using CSS 3 and HTML 5 to substitute for flash so render properly on all devices. In addition to allowing people to browse it on all devices.
http://www.spamedica.com/
Tested from New York City, New York, USA on September 23 at 14:00:29
<dl class="first">
<dt>Page size</dt>
<dd>1.9MB</dd>
</dl>
<dl>
<dt>Load time</dt>
<dd>2.31s</dd>
</dl>
<dl>
<dt>Requests</dt>
<dd>112</dd>
</dl>
<dl class="last">
<dt>Perf. grade</dt>
<dd>69/100</dd>
</dl>
Sincerely,
Thomas
-
You can check it with
https://yoast.com/wp-content/permalink-helper.php
https://yoast.com/change-wordpress-permalink-structure/
If you’re on Apache and you decide to do the redirect, having been on a
/yyyy/mm/dd/%postname%/
structure before, you might benefit from this simple redirect which you could throw into your .htaccess file:|
1
|RedirectMatch 301 /\d{4}/\d{2}/\d{2}/(.*) http://example.com/$1
| -
PS try to save your link structure to the way you want it and make sure you click the save button.
if it does not work there a problem that would require access to WordPress to fix
http://wordpress.stackexchange.com/questions/39665/custom-htaccess-rewrite-rule-for-page
-
Rewrite the URLs your hosting company for a plug-in like
https://yoast.com/wordpress/plugins/seo-premium/
Yoast makes it better be best redirect plug-in for WordPress I know of.
You can use The redirection plug-in
https://wordpress.org/plugins/redirection/
Hosting
http://getflywheel.com/help/do-you-support-htaccess-files/
You will want to clean up what WordPress did not.
Via 301 redirects it is most likely an error in your HTaccess file
Your WordPress install is not up to date as well you may want to ensure that is updated to 4.0.
Have http://getflywheel.com/tour/ do it
This is something I would recommend a company like Getflywheel.com at $15 a month you get manage WordPress your own all SSD VPS and all the issues with WordPress to take care of by them. http://getflywheel.com is a bargain.
Hope that helps,
Thomas
Got a burning SEO question?
Subscribe to Moz Pro to gain full access to Q&A, answer questions, and ask your own.
Browse Questions
Explore more categories
-
Moz Tools
Chat with the community about the Moz tools.
-
SEO Tactics
Discuss the SEO process with fellow marketers
-
Community
Discuss industry events, jobs, and news!
-
Digital Marketing
Chat about tactics outside of SEO
-
Research & Trends
Dive into research and trends in the search industry.
-
Support
Connect on product support and feature requests.
Related Questions
-
Should I redirect or add content, to 47 Pages?
We have an insurance agency website with 47 pages that have duplicate/low content warnings. What's the best way to handle this? I'm I right in thinking I have 2 options? Either add new content or redirect the page? Thanks in advance 🙂
On-Page Optimization | | laurentjb1 -
Google ranking content for phrases that don't exist on-page
I am experiencing an issue with negative keywords, but the “negative” keyword in question isn’t truly negative and is required within the content – the problem is that Google is ranking pages for inaccurate phrases that don’t exist on the page. To explain, this product page (as one of many examples) - https://www.scamblermusic.com/albums/royalty-free-rock-music/ - is optimised for “Royalty free rock music” and it gets a Moz grade of 100. “Royalty free” is the most accurate description of the music (I optimised for “royalty free” instead of “royalty-free” (including a hyphen) because of improved search volume), and there is just one reference to the term “copyrighted” towards the foot of the page – this term is relevant because I need to make the point that the music is licensed, not sold, and the licensee pays for the right to use the music but does not own it (as it remains copyrighted). It turns out however that I appear to need to treat “copyrighted” almost as a negative term because Google isn’t accurately ranking the content. Despite excellent optimisation for “Royalty free rock music” and only one single reference of “copyrighted” within the copy, I am seeing this page (and other album genres) wrongly rank for the following search terms: “free rock music”
On-Page Optimization | | JCN-SBWD
“Copyright free rock music"
“Uncopyrighted rock music”
“Non copyrighted rock music” I understand that pages might rank for “free rock music” because it is part of the “Royalty free rock music” optimisation, what I can’t get my head around is why the page (and similar product pages) are ranking for “Copyright free”, “Uncopyrighted music” and “Non copyrighted music”. “Uncopyrighted” and “Non copyrighted” don’t exist anywhere within the copy or source code – why would Google consider it helpful to rank a page for a search term that doesn’t exist as a complete phrase within the content? By the same logic the page should also wrongly rank for “Skylark rock music” or “Pretzel rock music” as the words “Skylark” and “Pretzel” also feature just once within the content and therefore should generate completely inaccurate results too. To me this demonstrates just how poor Google is when it comes to understanding relevant content and optimization - it's taking part of an optimized term and combining it with just one other single-use word and then inappropriately ranking the page for that completely made up phrase. It’s one thing to misinterpret one reference of the term “copyrighted” and something else entirely to rank a page for completely made up terms such as “Uncopyrighted” and “Non copyrighted”. It almost makes me think that I’ve got a better chance of accurately ranking content if I buy a goat, shove a cigar up its backside, and sacrifice it in the name of the great god Google! Any advice (about wrongly attributed negative keywords, not goat sacrifice ) would be most welcome.0 -
Two URL's for the same page
Hi, on our site we have two separate URL's for a page that has the same content. So, for example - 'www.domain.co.uk/stuff' and 'www.domain.co.uk/things/stuff' both have the same content on the page. We currently rank high in search for 'www.domain.co.uk/things/stuff' for our targeted keyword, but there are numerous links on the site to www.domain.co.uk/stuff and also potentially inbound links to this page. Ideally we want just the www.domain.co.uk/things/stuff URL to be present on the site, what would be the best course of action to take? Would a simple Canonical tag from the '/stuff' URL which points to the '/things/stuff' page be wise? If we were to scrap the '/stuff' URL totally and redirect it to the 'things/stuff' URL and change all our on site links, would this be beneficial and not harm our current ranking for '/things/stuff'? We only want 1 URL for this page for numerous reasons (i.e, easier to track in Analytics), but I'm a bit cautious that changing the page that doesn't rank may have an affect on the page that does rank! Thanks.
On-Page Optimization | | Jaybeamer2 -
Noindex child pages (whose content is included on parent pages)?
I'm sorry if there have been questions close to this before... I've using WordPress less like a blogging platform and more like a CMS for years now... For content management purposes we organize a lot of content around Parent/Child page (and custom-post-type) relationships; the Child pages are included as tabbed content on the Parent page. Should I be noindexing these child pages, since their content is already on the site, in full, on their Parent pages (ie. duplicate content)? Or does it not matter, since the crawlers may not go to all of the tabbed content? None of the pages have shown up in Moz's "High Priority Issues" as duplicate content but it still seems like I'm making the Parent pages suffer needlessly... Anything obvious I'm not taking into consideration? By the by, this is my first post here @ Moz, which I'm loving; this site and the forums are such a great resource! Anyways, thanks in advance!
On-Page Optimization | | rsigg0 -
H2's vs Meta description
in some of my serp results the h2's are showing up instead of the meta description. i have read that H2's arent really valid anymore. can someone clarify this for me?
On-Page Optimization | | dhanson240 -
Does schema.org assist with duplicate content concerns
The issue of duplicate content has been well documented and there are lots of articles suggesting to noindex archive pages in WordPress powered sites. Schema.org allows us to mark-up our content, including marking a components URL. So my question simply, is no-indexing archive (category/tag) pages still relevant when considering duplicate content? These pages are in essence a list of articles, which can be marked as an article or blog posting, with the url of the main article and all the other cool stuff the scheme gives us. Surely Google et al are smart enough to recognise these article listings as gateways to the main content, therefore removing duplicate content concerns. Of course, whether or not doing this is a good idea will be subjective and based on individual circumstances - I'm just interested in whether or not the search engines can handle this appropriately.
On-Page Optimization | | MarkCA0 -
Page content length...does it matter?
As I begin developing my website's content, does it matter how long or short the actual text found in the is? I heard someone say before "a minimum of 250 words", but is that true? If so, what is the maximum length I should use?
On-Page Optimization | | wlw20090 -
Avoiding "Duplicate Page Title" and "Duplicate Page Content" - Best Practices?
We have a website with a searchable database of recipes. You can search the database using an online form with dropdown options for: Course (starter, main, salad, etc)
On-Page Optimization | | smaavie
Cooking Method (fry, bake, boil, steam, etc)
Preparation Time (Under 30 min, 30min to 1 hour, Over 1 hour) Here are some examples of how URLs may look when searching for a recipe: find-a-recipe.php?course=starter
find-a-recipe.php?course=main&preperation-time=30min+to+1+hour
find-a-recipe.php?cooking-method=fry&preperation-time=over+1+hour There is also pagination of search results, so the URL could also have the variable "start", e.g. find-a-recipe.php?course=salad&start=30 There can be any combination of these variables, meaning there are hundreds of possible search results URL variations. This all works well on the site, however it gives multiple "Duplicate Page Title" and "Duplicate Page Content" errors when crawled by SEOmoz. I've seached online and found several possible solutions for this, such as: Setting canonical tag Adding these URL variables to Google Webmasters to tell Google to ignore them Change the Title tag in the head dynamically based on what URL variables are present However I am not sure which of these would be best. As far as I can tell the canonical tag should be used when you have the same page available at two seperate URLs, but this isn't the case here as the search results are always different. Adding these URL variables to Google webmasters won't fix the problem in other search engines, and will presumably continue to get these errors in our SEOmoz crawl reports. Changing the title tag each time can lead to very long title tags, and it doesn't address the problem of duplicate page content. I had hoped there would be a standard solution for problems like this, as I imagine others will have come across this before, but I cannot find the ideal solution. Any help would be much appreciated. Kind Regards5