【问题标题】:Special Characters in URLURL 中的特殊字符
【发布时间】:2010-09-21 04:45:15
【问题描述】:

我们目前正在用连字符 (-) 替换网址中的所有特殊字符和空格。从 SEO 和可读性的角度来看,这很好用。但是,在某些情况下,我们会在去除连字符后将部分 URL 输入到搜索中。当搜索词应该有连字符时会出现问题,因为当它们被剥离时它不会返回任何结果。我们可以修改我们正在使用的搜索算法,但这会减慢它的速度(尤其糟糕,因为我们将它与 AJAX-ed 搜索框一起使用,这需要快速)。

据我们所知,处理此问题的最佳选择是用竖线 (|) 替换预先存在的连字符。我有一种感觉,这将对这些术语的 SEO 产生负面影响,因为管道字符将被视为单词的一部分,而不是分隔符。据我所知,被认为是分隔符的 only 字符是连字符和正斜杠 (/)。

所以我的问题是:

  1. 我们可以使用替代字符来表示连字符吗?
  2. 如果我们不能使用任何其他字符,那么使用竖线字符会对搜索引擎产生多大影响?

干杯, 扎克

【问题讨论】:

    标签: seo friendly-url


    【解决方案1】:

    为什么不使用 URL 编码?大多数框架都内置了执行此操作的实用程序。

    【讨论】:

    • 两个原因: 1:我们使用带有 Isapi_Rewrite 的 IIS 6 上的 ASP.Net MVC 路由。使用 URLEncoded 字符在 IIS 中仍然显示为空格,这会导致错误请求。 2:我们希望 URL 是人类可读且可记住的。我们认为 %20 或类似的不符合这些标准。为回复干杯
    【解决方案2】:

    我打算对 URL 编码说同样的话,但如果你想摆脱特殊字符,我想你不想要带有百分号的 URL,对吧?

    改变“将部分 URL 输入搜索”的算法怎么样?您不能添加一些逻辑以不替换 URL 的搜索查询部分中的连字符吗?

    【讨论】:

    • 是的,你是对的。我们不想在 URL 中显示百分号。当我们将连字符输入搜索时,我们将连字符替换为空格,但在某些情况下,我们希望保留连字符。因此我们想使用管道来表示连字符。
    【解决方案3】:

    ~ (tilde) 会起作用吗?

    编辑:Google 现在将 underscores and dashes as word separators 视为破折号,因此您可以将破折​​号用作破折号,将下划线用作空格。

    【讨论】:

    • 很好,这解决了整个问题。干杯
    • 更新:在 Google IO 会议上。在 2010 年的 SFA 中,Google 工程师表示只有破折号(不是下划线)被视为空格
    猜你喜欢
    • 2015-10-21
    • 2012-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-02
    • 2014-06-19
    • 2021-07-16
    • 1970-01-01
    相关资源
    最近更新 更多