Concrete5 and its reliance on index.php
Permalink
Problem: In attempting to utilize the best SEO practices I have removed all traces of index.php, that is removing it with a .htaccess rewrite rule
#RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /(.*)index\.php($|\ |\?)
#RewriteRule ^ /%1 [R=301,L]
The problem that my team and I found was that concrete depends on having access to this page as it passes a get variable to it when processing (Ajax related e.g add a page property (hide from nav) -> save ). With SEO in mind, when a site is accessible with .index.php (e.ghttp://mysite.com/index.php) this will count as duplicate content and in turn risk ranking to drop. I do have implemented the standard pretty urls...
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}/index.html !-f
RewriteCond %{REQUEST_FILENAME}/index.php !-f
RewriteRule . index.php [L]
However this does not eliminate the fact that the index.php is still reliant for back end processing. Does any one in the community know of a way to either remove this reliance or a specfic way to write a htaccess rule to allow the ajax calls to function while not impeding concretes functionallity?
#RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /(.*)index\.php($|\ |\?)
#RewriteRule ^ /%1 [R=301,L]
The problem that my team and I found was that concrete depends on having access to this page as it passes a get variable to it when processing (Ajax related e.g add a page property (hide from nav) -> save ). With SEO in mind, when a site is accessible with .index.php (e.ghttp://mysite.com/index.php) this will count as duplicate content and in turn risk ranking to drop. I do have implemented the standard pretty urls...
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}/index.html !-f
RewriteCond %{REQUEST_FILENAME}/index.php !-f
RewriteRule . index.php [L]
However this does not eliminate the fact that the index.php is still reliant for back end processing. Does any one in the community know of a way to either remove this reliance or a specfic way to write a htaccess rule to allow the ajax calls to function while not impeding concretes functionallity?
If for some reason you end up on your site with multiple links to the same page, but by different URLs, like:
/index.php/cheeses/fetta
/cheeses/fetta
Then yes, you run the risk of search engines seeing that as duplicate content. You either have to fix your links, make adjustments via htaccess or use canonical link tags. It sounds like you've done that.
But that's not what you are referring to, you're talking about the actual editing functionality of concrete5. That's all irrelevant to SEO, as Google and others will never see such pages and functionality.