如何为来自同一链接的页面添加规范标签?

2023-12-27

我正在使用 symfony 1.0.6。

在我的网站中,我有两个 URL。

http://newe4s.com/news/articles/view/033/job-news-and-information

and

http://newe4s.com/news/articles/view/033/job-news-and-information/graduate/Connections-help-graduates-get-jobs

现在,所有新文章都使用相同的布局,上面的两个链接都从数据库中获取相同的数据。 谷歌报告内容重复,因为它获得了相同内容的多个网址。 当我寻找解决方案时,我发现使用“规范”结构可以解决这个问题,这需要

<link rel="canonical" href="http://newe4s.com/news/articles/view/033/job-news-and-information />

添加到页面头部

http://newe4s.com/news/articles/view/033/job-news-and-information/graduate/Connections-help-graduates-get-jobs

但这里的问题是,两者都使用相同的布局并基于文章 ID(上例中的 033),获取并显示数据。 我无法更改或硬编码规范 href。

有没有办法在action.class或模板文件中手动添加链接标签?


根据一张旧票 http://trac.symfony-project.org/ticket/7282(基于旧 symfony 论坛中的旧线程 http://oldforum.symfony-project.org/index.php/t/3778/) - 哪一点到最终来源 http://jnotes.jonasfischer.net/2009/10/symfony-link-tags-e-g-canonical/,您可以轻松创建一个帮助程序,将链接标记添加到您的页面(例如/lib/helper/CanonicalHelper.php):

/**
* Add link tag to slot 'links'
*
* @param String $href [Absolute or internat URI]
* @param String $rel [value for 'rel' attribtue, e.g. 'canonical']
*
* @return void
*/
function add_link($href, $rel)
{
  $slot = get_slot('links');

  try {
    $href = url_for($href, true);
    $slot .= "\n<link rel=\"$rel\" href=\"$href\" />";
  } catch (InvalidArgumentException $e) {
    $slot .= "\n<!-- Could not add Link '$href': Only absolute or internal URIs allowed -->";
  }

  slot('links', $slot);
}

然后你可以在你的模板中调用它:

<?php add_link(
  'http://newe4s.com/news/articles/view/033/job-news-and-information',
  'canonical'
); ?>

最后,不要忘记将插槽添加到您的layout.php:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <title>Title</title>
    <link rel="shortcut icon" href="/favicon.ico" />
    <?php include_javascripts() ?>
    <?php include_stylesheets() ?>
    <?php include_slot('links'); ?>
  </head>

如果您想从actions,它也在博客文章中定义。

edit:

如果您创建一个名为的助手CanonicalHelper.php当你想使用时不要忘记包含它add_link功能:

<?php use_helper('Canonical') ?>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何为来自同一链接的页面添加规范标签? 的相关文章

  • 指向特定工作表的超链接

    我想从另一个电子表格中的超链接打开 Google 表格的特定工作表 我的主电子表格中有不同的链接 每个链接都应该有一个指向同一从属电子表格但指向不同工作表的超链接 我知道超链接功能 但它不会转到特定的工作表 您可以使用此自定义脚本 工具 g
  • PHP:STR 替换为链接

    我有这个 PHP 聊天框 如果我在聊天框中键入链接 它不会将其显示为链接 我如何使用 STR 替换来执行此操作 它应该响应诸如 http http com nl www www 之类的内容 我的其他 STR 替换行如下所示 bericht
  • Jquery:将链接标记为已访问而不打开它们?

    我无意仅仅更改链接 我听说这是不可能的 但如果不是 我很想知道如何更改 如果需要的话 我可以将其添加到浏览器历史记录中 我想遍历所有 a 位于页面上并将其状态更改为已访问 例如 a each function mark as visited
  • 我的CSS出了什么问题?活动链接不改变颜色

    我无法让我的 WordPress 菜单活动链接保持红色 我添加了我认为与导航相关的 CSS 还有正文等 以防影响问题 感谢您的帮助 body font family Helvetica Neue sans serif font size 1
  • 对于 SEO 而言,.html 扩展名是否比 .php 和 .aspx 更好?

    对于 SEO 而言 html 扩展名是否比 php 和 aspx 更好 或者少扩展名的 url 比全部更好 该扩展对排名和所有 SEO 影响不大 您页面的扩展名可能不一定表明内容是如何生成的 PHP 或 ASPX 虽然通常具有动态内容 但始
  • apple-app-site-association 从 azure 请求返回为 application/JSON

    我有以下要求 当在 Azure 网站中请求文件的 URL 时 根文件夹中的可用文件必须返回到 application JSON 举例来说 我有一个名为 apple app site association 的文件 它是一个文本文件 在 az
  • 如何在 Rails 应用程序中删除 URL 的尾部斜杠? (在 SEO 视图中)

    为了避免内容重复 我希望避免通过多个 URL 带或不带尾部斜杠 访问我的网站页面 目前 URL catalog product 1 and catalog product 1 导致同一页面 我的目标是将第二个 URL 重定向到第一个 当然是
  • React Router LINK不传递参数

    我有一个 React 有声读物搜索应用程序 它按作者姓氏从 Librivox 获取数据并显示书籍列表 列表中的每个项目都有一个链接 该链接依次转到显示的单独的完整图书数据组件 该特定书籍 或用户从列表中选择的任何书籍 的所有数据 在我的一生
  • 如何在 iframe 中跟踪用户

    我想跟踪当用户单击 IFrame 中的链接时 iframe 内发生的情况 包含 iframe 父级 的页面用于跟踪用户在 iframe 中页面的导航 尽管子域有所不同 但这两个页面都将托管在同一顶级域上 我需要每次点击时通知父页面 但我无法
  • 设置 Gatsby 博客分层 URL slug 结构

    我目前正在使用 Gatsby Starter 博客 https github com gatsbyjs gatsby starter blog https github com gatsbyjs gatsby starter blog 我可
  • php:SEO 友好的 url

    我正在开发一个新项目 我想为这个网站创建 SEO 友好的 URL 例如 mysite com first content mysite com second content URL 必须是动态的 这意味着 URL 必须与内容标题相关 我怎样
  • 如何在 Netbeans 中调试 symfony?我无法调用特定页面

    我已经读过类似的帖子将 PHP 参数传递到 NetBeans 到具有 symfony url 路由功能的页面 https stackoverflow com questions 2052500 passing php arguments i
  • Android - 超链接不可点击

    我的应用程序中有一些链接 一个用于网站 一个用于电话号码 一个用于电子邮件 电子邮件和电话链接均有效且可点击 但由于某种原因 网站超链接仍然无法点击 有什么想法吗 代码如下
  • 链接到页面上的不同区域

    这似乎是一个愚蠢的问题 但是 所以我想做的是设置一个菜单部分 这样当用户单击该部分的标题时 它会将他们发送到页面上的特定位置 而无需向下滚动 我不完全确定这将如何运作或实现起来有多复杂 所以基本上我会 Menu 第一项 作为链接 第二项 作
  • 从 JavaScript 调用 href

    这是同样的问题THIS ONE https stackoverflow com questions 1782556 calling href from javascript 我无法再回答这个问题 所以我用我的帐户重新发布 抱歉造成混乱 我需
  • 使用php表单更改href链接

    我正在制作一个带有搜索栏的网站 我想让搜索栏在 搜索 并显示结果后具有交互性 所以我希望 href 根据正在使用的 Id 进行更改 例如 有人搜索 Pinecones 如果它在数据库中 它将有一个 ID 在本例中是 4 一旦他们搜索它 它就
  • 为什么我无法在 WebView (UWP) 中打开外部浏览器中的链接?

    我正在开发一个即将完成的 Web 应用程序 该应用程序有一个本地 Web 应用程序 其中有一些链接 我想在外部浏览器 Edge Chrome 等 中打开它们 我的代码分为 3 部分 1 Windows运行时组件 using System u
  • 可以使用 jQuery 或 Javascript 将图片的特定部分用作链接吗?

    我有这个想法 将图片 而不是文本 的各个部分链接到不同的页面或网站 并且我想在不实际创建不同的照片并将它们彼此靠近的情况下完成 这样看起来就像是一张完整的图片 这里有人知道如何使用 JavaScript 的变体 例如 jQuery 或纯 J
  • 使用 Get Statuses API 1.1 时呈现推文中的链接

    我正在使用 Twitter API 1 1 获取状态方法从客户网站上的帐户返回最新推文 这工作正常 但我找不到任何关于如何将可能包含的任何链接 包括用户名和包含的链接 呈现为可点击链接的明确文档 我可以在 JSON 响应中看到任何包含的链接
  • Symfony 框架 - 将西里尔文数据从装置加载到数据库中

    如何将包含西里尔文数据的夹具文件中的数据加载到数据库中 我已经尝试过了 但是数据库中的数据被转换为 符号 我的装置文件以 UTF 8 编码保存 你使用 MySQL 吗 您可能需要更改数据库中表的排序规则和 或字符集 A 整个部分都存在于 M

随机推荐