【问题标题】:PHP, SEO, special characters in URL [closed]PHP,SEO,URL中的特殊字符[关闭]
【发布时间】:2013-05-14 19:04:59
【问题描述】:

我正在尝试使用包含参数的静态 URL 地址创建搜索引擎。例如:www.domain.com/search,city,region,type.html

由于某种原因(数据库关系没有很好地预测),我无法在 URL 中放置标识符 - 我已经完全按照原样放置了参数名称。问题是参数可以包含特殊字符,如“ó”、“ż”、“ć”、“ą”。我已经读过,在 SEO 方面不建议将其放入 URL,所以我不打算这样做,因为 SEO 对我来说非常重要。只有名为 city 的参数才会有特殊符号。

我有一些想法。

  1. 在特殊字符之后添加另一个特殊字符,如“-”,告诉脚本应该替换之前的单个字符,例如。 www.domain.com/search,bial-ystok,wielkopolskie,restaurant.html。
  2. 在 URL 末尾添加一些其他参数,例如www.domain.com/search,bialystok,wielkopolskie,restaurant,4.html 告诉脚本参数 city 中的标志 4 应该被替换。

哪种方式最好?还有其他想法吗? URL 应该看起来不错。

【问题讨论】:

  • 另一种方法:使用 Google API 查找带有参数的城市的正确名称,而无需特殊歌曲。 :) 谢谢,你很有帮助。

标签: php url web seo


【解决方案1】:

上述解决方案都不是正确的,至少在我看来不是。 你必须做的,或者至少我会做的是:
1)有一张国家表,一个州表,一个城市表。我假设你已经拥有了,如果你没有,那么使用开源 CMS,比如 Open Cart,然后从那里获取它们,或者使用像 geonames.org 这样的网络服务。
2) 每个表都有一个名为 slug/nice_url/whatever 的列,您将在其中存储您的实际名称的漂亮 url 副本。您将使用:https://github.com/jbroadway/urlify 这是一个很棒的 php 库来创建漂亮的 slug。
3)然后,您所要做的就是索引每个表中的 slug 列,然后您的 url 将变为: www.domain.com/search/bialystok/wielkopolskie/restaurant 并基于此,您知道 wielkopolskie 是您所在城市的名称,您将使用 slug 在您的城市表中搜索它,您将获得正确的记录。

注意 1:在我的示例中,我真的不知道我是否得到了正确的城市,因为我不知道您所在国家/地区的城市,但您应该明白这一点。
注 2:我知道这意味着您需要做大量的工作和改变,但如果您这样做,至少要做得对,从长远来看,这将是一场胜利。
注意 3:也许阅读关系数据库也将帮助您以关系方式创建表。

【讨论】:

  • 我同意。这是正确的方法,但由于工作量太大,我不能这样做。
  • 恐怕你可能会花更多的时间来支持不正确的解决方案,最终效果仍然不完美。试试看 - 也许不会有那么多工作?
  • 关于城市,“wielkopolskie”是省(省),“Białystok”是城市。所以 URL 可能看起来像 /search/wielkopolskie/bialystok/restaurant。我会说这种 URL SEO(和用户)友好的,而问题中提出的可能不是那么多。
猜你喜欢
  • 1970-01-01
  • 2012-02-15
  • 2011-01-07
  • 2021-03-03
  • 2010-09-21
  • 2018-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多