在多语言站点中,如何使用`languages`标签构建语言切换菜单和输出`hreflang`标签?

📅 👁️ 69

在安企CMS(AnQiCMS)中构建多语言站点,不仅能够拓展您的市场范围,还能为不同地区的用户提供更友好的访问体验。要实现这一目标,核心在于有效利用languages标签来创建语言切换菜单,并正确输出hreflang标签以优化搜索引擎识别。

AnQiCMS作为一款注重企业级应用的内容管理系统,其强大的多语言支持是其亮点之一。它允许您为网站内容创建多个语言版本,并提供便捷的工具来管理这些内容。而languages标签,正是将后台配置的多语言能力呈现在网站前端的关键。

核心工具:languages 标签的运用

AnQiCMS 提供了一个专门用于处理多语言站点信息的内置标签——languages。这个标签的设计目的是获取您网站上所有已配置的多语言站点列表。它是一个功能直接且强大的工具,不接受任何参数,会默认获取所有在后台设置并启用的多语言站点信息,这使得它在使用上非常简单。

当您在模板中使用{% languages websites %}...{% endlanguages %}时,websites变量将成为一个数组对象,其中包含了每个语言版本站点的详细信息。您可以通过循环这个websites数组,来访问每个语言站点的具体数据。

每个item对象(即websites数组中的每个元素)都提供了以下有用的字段:

  • LanguageName: 站点的语言名称(例如“简体中文”,“English”)。
  • Language: 语言的ISO代码(例如zh-CNen-US),这对于hreflang标签至关重要。
  • LanguageEmoji: 一个代表该语言的Emoji图标,用于视觉化的语言切换。
  • LanguageIcon: 自定义的语言图标URL,通常是一个小国旗图片。
  • Name: 站点的显示名称。
  • Link: 该语言版本站点的完整URL。
  • Remark: 站点的备注信息。
  • Nofollow: 是否添加nofollow属性。

了解了languages标签能提供哪些信息后,我们就可以着手构建语言切换功能了。

构建语言切换菜单

为了让用户在不同语言版本之间轻松切换,一个直观且易于访问的语言切换菜单至关重要。使用languages标签,您可以灵活地设计菜单样式。

以下是一个基本的语言切换菜单代码示例,您可以将其放置在网站的页眉、页脚或侧边栏等显眼位置:

{%- languages websites %}
{%- if websites %}
<div class="language-switcher">
    <span>选择语言:</span>
    {%- for item in websites %}
    <a href="{{item.Link}}" class="lang-option">
        {%- if item.LanguageIcon %}
        <img src="{{item.LanguageIcon}}" alt="{{item.LanguageName}}"/>
        {%- else %}
        {{item.LanguageEmoji}}
        {% endif %}
        {{item.LanguageName}}
    </a>
    {%- endfor %}
</div>
{%- endif %}
{%- endlanguages %}

在这段代码中:

  • 我们首先使用{%- languages websites %}获取所有语言站点列表。websites变量将包含所有语言版本的信息。
  • {%- if websites %}检查是否有可用的语言站点,避免在没有配置多语言时显示空菜单。
  • {%- for item in websites %}循环遍历每个语言站点。
  • item.Link提供了指向该语言版本站点的完整URL,确保用户点击后能正确跳转。
  • 您可以选择item.LanguageIcon来显示自定义的国旗图标,或者使用item.LanguageEmoji显示更简洁的Emoji表情,或者直接显示item.LanguageName(语言名称)。这种灵活性让您可以根据网站的设计风格进行调整。

通过这样的菜单,您的用户可以轻松地在网站的不同语言版本之间进行切换,极大地提升了用户体验。

输出 hreflang 标签以优化 SEO

除了用户可见的语言切换菜单,搜索引擎优化(SEO)也要求我们在技术层面清晰地告知搜索引擎不同语言版本的对应关系。这时,hreflang标签就派上了用场。hreflang标签可以帮助搜索引擎理解您网站内容的地理或语言定位,避免多语言内容被视为重复内容,并确保将正确的内容版本呈现给不同语言或地区的搜索用户。

hreflang标签通常放置在每个页面的<head>区域中,其标准格式为<link rel="alternate" href="[URL]" hreflang="[语言代码]"。结合languages标签,您可以很方便地为每个页面生成这些标签:

<head>
    {# 其他head标签... #}
    {%- languages websites %}
    {%- for item in websites %}
    <link rel="alternate" href="{{item.Link}}" hreflang="{{item.Language}}">
    {%- endfor %}
    {%- endlanguages %}
</head>

在这段代码中:

  • item.Link提供了当前页面对应语言版本的完整URL。请注意,这里的item.Link会自动指向当前页面的语言版本URL,AnQiCMS会智能匹配。
  • item.Language则提供了对应的语言代码(例如enzh-CNfr等),这正是hreflang标签所必需的属性。
  • 这些标签生成后,会被放置在每个页面的<head>区域中,确保搜索引擎能够正确识别和索引您网站的多语言内容。

正确配置hreflang标签对于多语言SEO至关重要。它不仅能够提升您网站在全球范围内的可见度,还能避免因语言版本内容相似而导致的SEO惩罚。

实施与注意事项

要确保languages标签能够正确工作,您首先需要在AnQiCMS后台的“后台设置”->“全局设置”中配置和管理多语言站点。只有在后台启用的语言版本,才会被languages标签获取到。此外,在“全局设置”中设置“默认语言包”可以确保系统界面和一些内置提示信息以选定的语言显示。

通过结合使用languages标签构建的用户友好型语言切换菜单,以及面向搜索引擎的hreflang标签,您不仅能显著提升用户的访问体验,还能有效地优化网站的全球SEO表现,帮助您的内容触达更广泛的受众。AnQiCMS为您提供了所有必需的工具,让多语言网站的运营变得简单高效。


常见问题(FAQ)

1. 配置languages标签后,为什么语言切换菜单或hreflang标签不显示任何内容? 这通常是因为您在AnQiCMS后台尚未配置或启用任何多语言站点。languages标签会获取所有在后台“全局设置”中“多站点管理”下设置并启用的语言站点。请检查您的后台配置,确保至少有一个除默认站点以外的语言站点已被添加和激活。

**2. hreflang标签中的hreflang属性值(即item.Language)应该如何填写才符合

相关文章

如何在AnQiCMS模板中动态输出页面的SEO标题、关键词和描述(TDK)?

网站在搜索引擎中的表现直接影响着内容的触达效率,而标题(Title)、关键词(Keywords)和描述(Description),简称TDK,正是搜索引擎理解页面内容的“名片”。妥善地管理和动态输出TDK,能够显著提升网站的SEO效果和用户点击率。AnQiCMS作为一款高度重视SEO的内容管理系统,为我们提供了灵活且强大的功能,让动态配置页面TDK变得轻松简单。 ###

2025-11-08

如果文章内容是Markdown格式,如何使用`render`过滤器将其渲染为HTML?

安企CMS以其高效和灵活的内容管理能力,受到众多用户的青睐。在内容创作方面,Markdown格式因其简洁、高效的特性,成为许多内容创作者的首选。但如何将这些Markdown格式的内容在网站前端优雅地呈现为结构化的HTML,是不少用户关心的问题。本文将详细介绍安企CMS中强大的`render`过滤器,以及如何在模板中灵活运用它,将Markdown内容完美转化为HTML,让您的网站内容展示更上一层楼

2025-11-08

`safe`过滤器在显示富文本内容时,如何确保HTML代码被正确解析而不被转义?

在安企CMS中,富文本内容通常承载着文章、产品描述或页面详情等丰富的信息,这些内容往往包含了各种HTML标签,例如加粗、斜体、图片、链接、表格等。如果这些HTML代码没有被正确解析,而仅仅是作为纯文本显示,那么用户在前端看到的就是一堆代码,而不是美观且结构化的内容,这显然会严重影响网站的阅读体验和专业度。 安企CMS的模板引擎采用了类似Django的语法风格,其默认行为出于安全考虑

2025-11-08

如何使用过滤器自动查找文本中的URL并将它们转换为可点击的HTML链接?

在网站运营中,我们经常会遇到这样的需求:在文章内容或描述文字里,可能包含了一些网址或邮箱地址,但它们仅仅是纯文本,用户无法直接点击访问。手动为每一个网址添加 HTML 链接不仅效率低下,还容易出错,尤其是在内容量庞大的时候。安企CMS(AnQiCMS)深知这一痛点,提供了强大的内置过滤器,可以帮助我们轻松实现文本中 URL 的自动化转换,让网站内容更加友好便捷。 ### 自动化链接

2025-11-08

如何在AnQiCMS模板中获取并显示后台“全局设置”中配置的系统参数?

在AnQiCMS的模板中,高效获取并展示后台“全局设置”中配置的系统参数,是确保网站信息统一和管理便捷的关键。AnQiCMS提供了一套直观且强大的模板标签,让开发者和运营者能够轻松实现这一目标,而无需深入复杂的编程代码。 全局设置是AnQiCMS后台的核心组成部分,它集中管理着网站的基础信息,如网站名称、Logo、备案号、版权信息、基础URL、移动端URL、语言设置,甚至是自定义的扩展参数等

2025-11-08

如何获取后台“联系方式设置”中配置的联系人、电话、邮箱、社交媒体等信息?

AnQiCMS 为网站管理人员提供了集中管理和展示联系方式的便利功能。在后台“联系方式设置”中配置好的联系人、电话、邮箱、社交媒体等信息,都能通过简单的模板标签在网站前端灵活地呈现,大大提升了内容更新的效率和一致性。 ### 了解后台“联系方式设置” 首先,我们来熟悉一下这些信息在 AnQiCMS 后台的配置位置。你可以在后台管理界面的“**后台设置**”中找到“**联系方式设置**”选项

2025-11-08

如何在模板中动态构建和显示后台自定义的留言表单字段?

在网站运营中,留言表单是用户与网站互动、收集用户反馈或潜在客户信息的重要桥梁。一个灵活且可定制的留言表单能够极大地提升网站的实用性和用户体验。AnQiCMS(安企CMS)在这方面提供了强大的支持,允许用户在后台自定义留言表单字段,并能在前端模板中动态构建和显示这些字段,从而满足各种个性化的业务需求。 ### AnQiCMS 留言表单的灵活性 AnQiCMS

2025-11-08

如何在留言或评论表单中集成验证码功能以防止垃圾信息?

网站留言和文章评论是网站与用户互动的重要桥梁,它们能有效提升内容活跃度和用户黏性。然而,这些开放的互动区域也常常成为垃圾信息发布者的目标,大量无意义或恶意信息不仅损害网站形象,更可能影响搜索引擎排名。为了有效遏制这类问题,为留言或评论表单集成验证码功能是一个行之有效的方法。 安企CMS作为一款高效、安全的建站工具,充分考虑到了内容运营中的常见挑战,并提供了便捷的解决方案

2025-11-08