并不总是一回事。title可以写得花哨,像“老王杂谈 - 专注数码评测十年”,而sitename往往是朴素的“老王杂谈”。前者是给人看的,后者是给机器和结构化数据看的。 我见过最离谱的一次,是个电商网站把sitename设成了“首页”。结果所有页面的面包屑导航都显示“首页 > 首页 > 商品详情”,用户点着点着就迷路了。后来他们技术总监在代码评审会上拍桌子,说当初谁写的这个配置,底下没人敢吭声。
搜索引擎的爬虫也认这个标签。Google的富媒体搜索结果里,站点名称显示的就是sitename的值,不是title。你要是没设置,Google会从页面内容里猜一个,猜错的情况不少。有个做地方美食博客的朋友,网站叫“巷子口”,结果Google给显示成“巷子口小吃培训”,他哭笑不得——那是个纯分享菜谱的站,压根不搞培训。
实际开发中,sitename通常由CMS系统自动生成,但如果你用的是纯静态页面,就得自己写死在每个HTML文件里。有个取巧的做法是用JavaScript动态插入,但这样做的代价是,如果用户禁用了脚本,整个站点的结构标识就没了,对SEO不友好。
还有个细节很多人忽略——sitename在JSON-LD结构化数据里,要配合@type: WebSite使用。格式长这样:
{ "@context": "https://schema.org", "@type": "WebSite", "name": "你的站点名" }
这段代码放在页面底部或头部都行,不影响显示,但影响搜索引擎对你站点身份的识别。我自己试过,加了这行之后,站点的品牌词搜索点击率确实涨了些,虽然样本量不大,但逻辑上说得通——机器更清楚你是谁了。
说到底,sitename就是个约定俗成的命名习惯,不是W3C强制标准。你管它叫site_title、web_name、brand_text,只要代码内部统一,功能上没差别。但既然整个生态都认sitename这个叫法,你非要另辟蹊径,就等着跟其他开发者对接时多解释两句吧。
下次你在别人的网页源码里看到sitename,不用觉得神秘——那就是网站给自己起的小名,写在代码里,方便别人称呼它罢了。