【问题标题】:Removing index.php is not SEO friendly删除 index.php 对 SEO 不友好
【发布时间】:2012-06-29 06:06:35
【问题描述】:

编写允许我从 URL 中删除 index.php 的 htaccess 可能会混淆搜索引擎,因为我将有许多指向同一页面的链接,例如

http://www.domain.com/index.php/welcome/index
http://www.domain.com/index.php/welcome/
http://www.domain.com/welcome/index
http://www.domain.com/welcome/

如您所见,在 SEO 方面,这可能是个问题。我该怎么做才能解决这个问题?

我的 .htaccess 包含以下命令:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /ci_sample/index.php/$1 [L]  

【问题讨论】:

  • 选择其中一个网址,让所有其他网址永久重定向到它。
  • 您没有多个链接,您只有多种访问页面的方式。如果您在网站上放置链接时坚持一种方法,那不是问题。

标签: php apache .htaccess codeigniter


【解决方案1】:
  1. 您应该将所有这些 URL 的 301 重定向设置为一个,由您选择作为主要 URL。
  2. 您可以在您的主页上添加 rel=canonical 标记并将选择的 URL 放在那里,以告知爬虫正确的站点地址。

【讨论】:

    【解决方案2】:

    除非您链接到每个单独 URI 的所有可能组合,否则搜索引擎将不会更明智地处理指向同一资源的各种地址。他们只会抓取您网站上的可见链接,因此请决定约定并遵循它。如果您从未在您网站的任何页面上链接到 index.php/welcome/index,那么它很可能永远不会以这种方式被编入索引。

    【讨论】:

      【解决方案3】:

      这肯定会起作用...我已经使用此代码删除了 index.php,它对我来说效果很好。这段代码的SEO没有问题。

          RewriteCond %{REQUEST_FILENAME} !-f
          RewriteCond %{REQUEST_FILENAME} !-d
          RewriteRule ^(.*)$ /index.php?/$1 [L]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-04-07
        • 2015-04-17
        • 2015-01-13
        • 1970-01-01
        • 2020-04-12
        • 1970-01-01
        • 2016-01-03
        • 2023-04-03
        相关资源
        最近更新 更多