Changing news detail template and soft 404 errors

Do something cool with CMS? Show us ...
This board is for 'Answers', and the discussion of answers... Not for questions.
User avatar
Power Poster
Power Poster
Posts: 508
Joined: Wed Aug 01, 2007 5:36 pm

Changing news detail template and soft 404 errors

Post by blast2007 »

Hi all,
I have some pages calling news module with instruction like:

Code: Select all

{news category="General" summarytemplate="Responsive_News_Summary" detailtemplate="Responsive_News_Detail"}
As result of this, URLs of news detail page are something like:

Code: Select all,Responsive_News_Detail.htm
I want to get rid of last URL part and have nice URLs like:

Code: Select all
To accomplish this, I have to remove "detailtemplate=..." instruction and create default template but what about SEO and soft 404 errors? Pages are already indexed but they are duplicated according to search engine because of same content.
One option is to edit .htaccess and create a 301 redirect but not all webmasters can access to it.

So here my CMSMS solution:
  1. Clone actual news detail template with a new name and make it default template.
  2. Create a new UDT named "moved301" with this code

    Code: Select all

    $url = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
    $path = parse_url($url, PHP_URL_PATH);
    $pathComponents = explode("/", trim($path, "/"));
    $newurl = 'http://'.$_SERVER['HTTP_HOST']. '/'. $pathComponents[0] .'/'.$pathComponents[1] .'/'.$pathComponents[2] .'/'.$pathComponents[3] .'.htm';
    header("HTTP/1.1 301 Moved Permanently");
    header("Location: $newurl");
  3. Edit old template and remove all content (but don't delete template) replacing with {moved301}
  4. Done!
Search engine trying to access detail template using old URL will be redirected with a 301 status code to new (short) URL.

Hope it helps

Return to “Tips and Tricks”