Duplicate Page Content Error

Permalink 1 user found helpful
I'm sure this is my fault somehow, but when I run the site I just created through my seo program it returns "Issue: Duplicate Page Content" several hundred times, when I go to check it out, it's because it's picking up the same page twice from the server. Example: mysite.com/page1 and mysite.com/index.php/page1/ Could this be because I enabled pretty url's or could this be because I hard coded the navigation instead of using concrete5 navigation functions? I added every page to the site by first going to the index page & then clicking the add page button if that helps diagnose. here's the link to the site in question: jerseyshorecriminallawyer.com

 
olliephillips replied on at Permalink Reply
olliephillips
Had a brief look at the source and all the links I saw use the pretty URLs. Your server clearly has pretty urls running too.

Could be 'cacheing'... where a page in your hierarchy has old style links and your SEO programs spider has picked up on it.

Try clearing your site cache and running again.
8square replied on at Permalink Reply
I tried this out last night, but it will be a few more days until seomoz crawls again, in the mean time I'll be researching more options. I'll be sure to post the results after the next crawl.
olliephillips replied on at Permalink Reply
olliephillips
Actually I think jasteele123 has identified your problem, though I wouldn't really class it as a bug.

Looking again at your syntax you don't have the trailing '/' in your menus (presumably they're the hardcoded ones). That could be a source of duplicates as anything C5 generated will have the trailing '/'

I've just searched in here and it appears, adding the trailing '/' to your hardcoded menu plus implementing a 301 redirect in your htaccess file to the '/' suffixed file is the way to go.

Learn't something here myself.
jasteele12 replied on at Permalink Reply
jasteele12
Bug might have not have been the right term, but it certainly is a SEO mistake.

As far as the trailing slash issue, I think this should be a config/site.php setting, instead of the core hard-coded '/' character.

Personally, I don't like trailing slashes for non-directories, and it's another character to type on many mobile devices.

With pretty URL's enabled, I think the index.php/somepage should definitely redirect to /somepage in either case.
jasteele12 replied on at Permalink Reply
jasteele12
I believe this is actually a "bug" in concrete5 - when pretty URLs are enabled there really should be only one canonical URL (if not editable).

Without code modifications these are all valid, and point to the same content:

somesite.com/somepage
somesite.com/somepage/
somesite.com/index.php/somepage
somesite.com/index.php/somepage/

somesite.com/
somesite.com/index.php
somesite.com/index.php?cID=1

Andrew / Developers care to comment?
87up replied on at Permalink Reply
87up
hostco replied on at Permalink Reply
hostco
87up replied on at Permalink Reply
87up
Edit:

It works. Thank you Hostco for this. :)

I might have found a solution for the 3 other duplicated pages. I don't know if this is bulletbuff. But what do you guys think ?

$req = Request::get();
$url = BASE_URL.DIR_REL.$_SERVER['REQUEST_URI'];
$u = new User();
if (!$u->isRegistered()) {
   if ($url == BASE_URL.DIR_REL.'/index.php') {
   header ("Location: ".BASE_URL.DIR_REL);
   exit;
}
if ($url == BASE_URL.DIR_REL.'/index.php/') {
   header ("Location: ".BASE_URL.DIR_REL);
   exit;
}
if ($url == BASE_URL.DIR_REL.'/index.php/'.$req->getRequestPath()) {
   header ("Location: ".BASE_URL.DIR_REL.'/'.$req->getRequestPath());
   exit;