如何在Blogger中隐藏首页文章,仅支持通过链接访问对应内容?
Blogger实现文章仅通过专属链接访问、不在首页展示的解决方案
你此前尝试的重定向方案不生效,大多是因为规则覆盖范围错误或者缓存导致,优先推荐修改主题模板的方案,稳定性更高,具体操作如下:
方法1:自定义标签过滤(支持部分文章隐藏,无需清空首页)
适合只需要隐藏特定文章、首页还可以保留其他公开内容的场景:
- 给所有需要隐藏的文章统一添加一个专属标签,比如
hidden - 进入Blogger后台,点击「主题」→ 点击「自定义」旁的下拉箭头→ 选择「编辑HTML」
- 找到首页文章循环代码段,特征是包含
<b:loop values='data:posts' var='post'>字段 - 在循环外层添加条件判断,过滤掉带专属隐藏标签的文章,参考代码:
<b:if cond='data:blog.pageType == "index"'> <b:loop values='data:posts where (p => !p.labels any (l => l.name == "hidden"))' var='post'> <!-- 此处保留原有文章展示逻辑代码即可 --> </b:loop> <b:else/> <b:loop values='data:posts' var='post'> <!-- 此处保留原有文章展示逻辑代码即可 --> </b:loop> </b:if>
- 保存修改后,所有带
hidden标签的文章只会在直接访问专属链接时正常加载,不会出现在首页、归档页、标签页等任何列表页中
注意:如果主题自带分页功能,需要同步修改分页的文章查询条件,避免隐藏的文章占用分页名额导致首页显示空白分页
方法2:清空首页文章列表(所有文章全隐藏)
如果需要所有发布的文章都不在首页展示,直接修改首页渲染规则即可:
- 同样进入「主题」→「编辑HTML」
- 找到首页判断条件段,直接清空首页的文章列表输出,参考代码:
<b:if cond='data:blog.pageType == "index"'> <!-- 此处可自定义首页展示内容,比如站点介绍、导航栏,不需要可留空 --> <p>本站所有内容仅通过专属链接访问</p> <b:else/> <!-- 此处保留原有文章页、静态页等其他页面的渲染代码即可 --> </b:if>
- 保存后首页不会展示任何文章列表,所有发布的文章仅能通过直接访问专属链接打开
内容的提问来源于stack exchange,提问作者Aaditya Raj Parashar
相关产品推荐
相关产品推荐

