我有一个基于Codeignator(theinnovativepackage.com(的网站。从SEO的角度来看,我读到根URL中的尾部斜杠并不重要,但对文件/路径(例如/about us和/about us/(来说很重要。我的问题是,我的网站页面在URL中有尾随斜杠,但当你查看页面源代码并检查规范URL是否匹配时,我没有看到任何尾随斜杠。如果我有这样的URL结构,这有关系吗地址栏中的URL:example.com/product-name/规范URL:example.com/product-name。据我所知,它并不是SEO的好习惯。如果可以,请告诉我,或者如果不可以,请指导我如何在产品页面中添加尾部斜杠。我正在附加我的网站。htaccess
<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^ https://example.com%{REQUEST_URI} [R=301,NE,L]
RewriteCond %{THE_REQUEST} ^GET.*index.php [NC]
RewriteCond %{THE_REQUEST} !/system/.*
RewriteRule (.*?)index.php/*(.*) /$1/$2 [R=301,L]
# Standard ExpressionEngine Rewrite
# ------------------------------
RewriteCond $1 !.(css|js|gif|jpe?g|png) [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
我的主要目标是保持规范标签和地址栏中的URL相同,如果它真的影响SEO
rel="canonical"
链接元素的值(我认为这就是您所说的"规范标记"(应该包含您的规范URL。如果你在内部链接中链接/使用不同的URL,那么你在你的";规范标签";。
是的,两者应该是一样的。因此,您要么需要在您的";规范标签";,或者删除内部链接中的尾部斜杠。
如果你一直链接到带有尾部斜杠的URL,那么谷歌可能会忽略你的";规范标签";省略了它。
我正在附加我的网站。htaccess
您的.htaccess
文件在这里似乎无关紧要。您没有在此处强制(或删除(尾部斜线。(如果请求非规范URL,您可以稍后添加规范重定向来强制其中一个。(
然而,您的直接问题无论如何都不会在.htaccess
中解决。您需要更正您的内部链接或";规范标签";。
更新:
我的模板文件
<link rel="canonical" href="<?php echo current_url(); ?>" />
中有这个链接。它在根URL后面附加了斜杠,但在其他页面上没有附加任何斜杠。你能建议我在这里写一些逻辑条件吗?这样斜线就可以和其他页面一起附加了
你也许可以这样做:
<link rel="canonical" href="<?php $url = current_url(); echo preg_match('//$/',$url) ? $url : $url.'/'; ?>" />
这将在URL后面附加一个斜杠(如果还没有(。尽管我确信还有一种更的Codeigniter方法可以做到这一点。(?(