【问题标题】:Rewriting a URL重写 URL
【发布时间】:2015-01-01 17:38:20
【问题描述】:

我开发了我的网站,以便通过 ajax 在 1 页上动态加载所有页面,并且 URL 将以这种格式显示:

www.website.com/#home
www.website.com/#news
www.website.com/#news-details/news-title-goes-here

我后来发现我的网页没有出现在搜索引擎中,而且 Google 漫游器也不会以这种方式访问​​我。 那么修复它并将 URL 转换为这种形式的最简单方法是什么:

www.website.com/news/news-title-goes-here

只修改 .htaccess 可以吗?

【问题讨论】:

  • 如果页面是动态加载的,页面上的内容是不是也是动态生成的?
  • 是的,一切都来自数据库
  • 您是否尝试过在 google 站长工具中提交站点地图? feedthebot.com/dynamicpages.html
  • 试过了,没用。我尝试从网站管理员那里使用 fetch as Google,它只获取主页
  • 我会建议你为你的动态 URLs 创建一个站点地图!

标签: .htaccess seo friendly-url dynamic-pages


【解决方案1】:

问题在于 Google 变得很困惑。您可能无意中陷入了隐身状态。

如果您查看在主页上加载动态内容的其他网站(如新闻网站),该内容最终会链接回另一个内容页面(具有自己的 URL)。当您在 URL 中引入磅/哈希符号时,Google 会将其视为之前所在页面上的锚点(这是 URL 中传统上接受的哈希用法),并希望看到所有相同的内容.如果您键入此哈希并加载全新的内容,则会导致 Google 感到困惑。

如果 Google 访问相同的 URL 并从 AJAX 调用中获取不同的内容,并且它无法确定不同的内容实际上来自不同的“页面”,那么 Google 可以将此解释为伪装,并从索引。

这是您可以尝试的另一件事; hashbang URL:https://developers.google.com/webmasters/ajax-crawling/docs/getting-started

【讨论】:

  • 你试过祷告吗?说真的,我认为你处于一个艰难的境地,没有简单的出路。您可以尝试键入除井号以外的其他字符,因为这已经确定。它可能有效,但可能无效。我已经在谷歌做 SEO/在线营销 10 到 15 年,在数百个各种规模的网站上工作过 SEO。我一次又一次地学到了一件事。对设计/用户体验/外观有好处的东西,通常不能很好地与 SEO 和搜索引擎配合使用。此外,即使 Google 可以解决这个问题,Bing/Yahoo 也没有那么聪明,它们驱动了 20% 到 30% 的流量。
【解决方案2】:

这是一个非常基本的 SEO 与coolnes 问题。 如果您希望保持页面的行为方式,可以并行添加静态版本。

您的 htacess 中的以下代码将任何请求路由回您的 index.php,您可以在其中根据这些值选择输出内容。

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* /index.php

我坐在火车上用手机写这篇文章(无聊),如果格式不完美,请原谅;)

编辑: 我差点忘了;使用此方法时,您会得到这样的 url: $url = $_SERVER["REQUEST_URI"];

【讨论】:

    【解决方案3】:

    我点击了这个链接:

    https://developers.google.com/webmasters/ajax-crawling/ 
    

    将我所有的动态页面转换为以这种方式显示:

    www.website.com/#!home
    www.website.com/#!news
    www.website.com/#!news-details/news-title-goes-here
    

    (在哈希之后添加 !)

    然后动态生成 Html 快照。 (但是我只在 1 个文件 html-snapshot.php 中制作了它们) 所以现在我有两种类型的 URL:

    最丑的:

    www.website.com/html-snapshot.php?_escaped_fragment_=news-details/news-title-goes-here
    

    还有那个漂亮的:

    www.website.com/#!news-details/news-title-goes-here
    

    我将所有漂亮的 URL 添加到站点地图中并提交到 Google 网站管理员,并在网站管理员工具“Fetch as Google”中获取所有丑陋的 URL

    总之就是这样,Google 现在可以看到我所有的 ajax 页面了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-22
      • 1970-01-01
      • 2011-04-07
      • 1970-01-01
      • 2016-06-27
      • 2012-04-19
      • 2016-10-30
      相关资源
      最近更新 更多