【问题标题】:Laravel 8: Seo Friendly Instagram like Username URL systemLaravel 8:类似于用户名 URL 系统的搜索引擎友好 Instagram
【发布时间】:2021-08-08 04:11:39
【问题描述】:

我最近在一个项目的用户名上工作,并想在域名旁边创建一个用户名系统,例如 Instagram.com/{username}、Facebook.com/{username} 甚至 Twitter.com/{用户名}。

我的路线:

Route::get('{username}', [HomeController::class, 'index'])->name('dashboard');

这绝对没问题。但我无法理解 SEO 将如何检测这样的动态 URL,例如我们可以看到 Facebook 和 Instagram 用户名有时会显示在 google 和 bing 上。这是正确的方法吗?还是我错了?最近有人建议应该对此类 URL 进行 301,现在我很困惑在这种情况下我们如何为此类 URL 执行 301?

【问题讨论】:

标签: laravel laravel-8 laravel-routing


【解决方案1】:

你做的很好,但我不明白关于 301 重定向的部分。

您对抓取引擎未发现未公开网址的担忧是有道理的。事实上,除非您有指向它的外部链接,否则 Google Bot 不太可能抓取 yourwebsite.tld/{username}

要解决此问题,您有两种选择:

  • 索引页面上有指向您希望机器人发现的新页面的链接(有机索引)。

  • 或者,正确的解决方案是在您网站的根目录创建一个sitemap,以帮助搜索引擎发现您的网站页面。

使用 Laravel,有许多不同的方法可以创建 sitemap.xml。由于您的用户模型是动态的,您将希望您的站点地图也是动态的。您可以自己构建此功能,也可以下载现有包以节省时间。我个人喜欢spatie/laravel-sitemap,但任何类似的软件包都可以完成这项工作。

【讨论】:

  • 感谢您的回复。我们还有一些用于索引页面的包吗?我曾经考虑过站点地图,但是从安全角度来看,这两种方法是否安全,因为我们最终会将所有用户名都扔到站点地图或对其进行索引?
  • @HardikSisodia 站点地图应该只包含公共数据。私有数据是私有的,不应公开索引或访问。您的用户名是公开数据还是私有数据?没有“索引包”之类的东西,因为那没有意义。你想达到什么目的?
  • 我的用户名将像 Facebook、Instagram 或任何此类网站一样使用。实际上我对 SEO 和站点地图有点陌生,也许这就是我问这个的原因。我只是想让我的 URL SEO 友好,用户的用户名可以被搜索引擎或网络爬虫抓取。 insta 和 FB 是否将站点地图用于用户名,这些用户名会被抓取并出现在 google 上?
  • @HardikSisodia 是的,每个网站都使用站点地图进行 SEO。这是 Instagram 的站点地图文件:ig.com/sitemap.xml 想想看,如果你不告诉他们去哪里看,Google 或 Bing 怎么能发现 url?您必须向他们提供 URL 列表。就这么简单。
  • ig.com 似乎是一个不同的域,但我确实明白了这个概念,非常感谢你让我理解它。
猜你喜欢
  • 2011-08-31
  • 2011-02-15
  • 1970-01-01
  • 1970-01-01
  • 2014-11-09
  • 2021-06-12
  • 2013-10-16
  • 2012-06-18
  • 2010-12-11
相关资源
最近更新 更多