Display:none做SEO隐藏文字可行吗?

本文探讨了CSS中display:none属性的应用及对SEO的影响,对比visible:hidden的不同,并介绍了多种隐藏文字的方法及其潜在风险。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


文章目录

Display:none是什么

Display:none是CSS代码中在需要隐藏文字时需要用到的代码,当放到网站的页面时,它可以简单的控制内容是否显示。许多大型CMS门户网站,为了实现简洁而良好的用户体验,经常会使用display:none属性去隐藏部分模块,当用户鼠标划过或点击某个按钮等行为时,这些模块会通过js代码显现出来。它可以在有限的空间里给用户展示更多的内容,提高了用户的体验,节约了屏幕空间。

然而,display:none这种可以隐藏文字的功能经常会被SEO作弊者利用,意图提高文字相关性,或希望某些与页面不相关的但搜索次数高的关键词能有排名和流量。当然,搜索引擎也不是傻子,在作弊与反作弊的较量上几乎从没有停止过,如今这个属性已经造成了搜索引擎的敏感。

Display:none对SEO的影响

通过display:none属性可以隐藏文字,由此可以欺骗搜索引擎错误判断网页内容等。有网友测试说,“凡是有display:none的页面全部不收录,但没有的页面却收录正常,而后去掉该代码后,页面收录就正常了”。对于这种现象,笨鸟不敢断定其是否存在,不过搜索引擎对于display:none属性的敏感确实存在。之前笨鸟见到过有网站使用display:none恶意做H1标签,然后些网站排名就比较偏后,虽不能说一定是这个属性造成这样的结果,但做seo只要有坏影响存在的可能因素,就应该杜绝。

Display:none被很多大型网站使用的,如果说使用就会被惩罚,那么太多的门户站、dedecms站就会被都会有不利影响,但事实上,这种情况并没有发生,所以,不能说使用这个属性就会被惩罚。

但是,如果恶意使用来隐藏文字等,相信搜索引擎还是可以轻易检查出来的。如通过属性定义内文字比重,文字与标题中关键字比重,文字与属性定义外文字比重等。所以,不建议站长使用这种低级手段作弊。

Display:none与visible:hidden的区别

这两种CSS属性都可以把网页上某元素隐藏起来,两者的区别在于:

Display:none:隐藏对象在页面上完全看不到,不存在其存在的空间,需要通过js才能触发然后显示在页面上,通俗来讲是看不见摸不到。

visible:hidden:隐藏对象存在于页面上,但用户无法看到,通俗来说是看不见,但摸得着。

Display:none的其他方法

一般使用该属性隐藏文字有三种方法:

1、最简单的方法,直接使用style,如:

<a href="http://www.ecdoer.com/"title="大河笨鸟博客" style="display:none">大河笨鸟博客</a>

2、通过前两添加两个JS,如

<script language="JavaScript" type="text/javascript">     document.write( "<div style='display:none'>" );     </script>

<a href="http://www.ecdoer.com/" title="大河笨鸟博客">大河笨鸟博客</a>

<script language="JavaScript" type="text/javascript">

document.write( "</div>" );

</script>

3、防止作弊更彻底的方法,连display:none都看不到的。

<script language="JavaScript" type="text/javascript">

var o='d'+'i'+'v';

var a='style=\'disp';

var b='lay:';

var c='none\'';

document.write( "<"+o+a+b+c+">" );

</script>

<a href="http://www.ecdoer.com/"title="大河笨鸟博客">大河笨鸟博客</a>

<script language="JavaScript" type="text/javascript">

document.write( "</"+o+">" );

</script>

隐藏文字的其他方法

隐藏文字的方法常见的有三种:

1、css代码Display:none;;

2、visibility: hidden 可见性为隐藏;

3、overflow:hidden设置。

其中,第一种和第三种方法在早期曾被大量用于黑帽SEO上。

另外,隐藏文字的的方法还有很多,如:曾经在09年一位国外网友分享的“friendly seo css Hiding”方法:

#content {

position: absolute;

top: -9999px;

left: -9999px;

}

Removes an item from the page, without affecting page flow or causing scrollbars. Much better than display: none; or even visibility: hidden;

另外,zac也曾分享过一些,如:

1、文字与背景颜色相同,页面背景设置为白色,文字也设置为白色。

2、把文字放在背景图片上,而图片就是一个单色图案,与文字是同一个颜色,比如白色文字放在白色图片上。由于搜索引擎不能准确读取图片内容,就可能无法判断这是隐藏文字。

3、使用相近颜色,如背景颜色是白色,文字设置成非常浅的灰色,这样搜索引擎读到的颜色是不同的,但用户肉眼是分辨不出这两种颜色的。

4、使用微小文字,把文字大小设置为非常小,这样用户在页面上是看不到的。

对搜索引擎来说,有些隐藏文字确实很难通过程序检测出来,但一旦被用户或竞争对手举报,或有新的算法可以发现,网站通常会被惩罚的非常厉害。还是那句话,搜索引擎算法是很多精英工程师做操作的,如果作弊,可能一时发现不了你,但一旦被发现,你将付出的代价是巨大的。尤其对于同时操作很多站的朋友,如果这些站再有些关联,站长会为之付出惨重的代价。

对于display:none,并不是说不能使用,但最好不要恶意使用来作弊。这个css属性判断是否存在作弊太简单了,只要知道是否用户可以看到就可以了,如果用户可以调出看到作弊的可能性就很小,如果用户无法看到就直接定性为作弊。而一些大型门户网站都是可以调出的,使用是为了提升用户体验,当然不会被SEO惩罚,但如果用于作弊,那就不好说了。

我的文章列表一地址为https://fcw66.xyz/?thread-1.htm 其中后缀是文章地址二为https://fcw66.xyz/?thread-2.htm 请把下面这个代码绑定到我这个论坛上 这样我就能实现不用后台也可以更新这个代码的文章列表了<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>简约文章列表</title> <style> /* 基础样式 */ * { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Segoe UI', sans-serif; } body { background: #f5f5f5; padding: 40px 20px; } /* 容器样式 */ .container { max-width: 800px; margin: 0 auto; background: white; border-radius: 15px; box-shadow: 0 3px 15px rgba(0,0,0,0.1); padding: 30px; } /* 标题样式 */ .title { text-align: center; color: #333; margin-bottom: 30px; font-size: 24px; } /* 文章列表项 */ .article-item { padding: 18px 25px; margin: 10px 0; background: #fff; border: 1px solid #eee; border-radius: 8px; cursor: pointer; transition: all 0.3s; font-size: 16px; } .article-item:hover { transform: translateX(5px); box-shadow: 0 2px 8px rgba(0,0,0,0.1); border-color: #007bff; } /* 分页容器 */ .pagination { display: flex; justify-content: center; margin-top: 30px; gap: 8px; } /* 分页按钮 */ .page-btn { padding: 8px 14px; border: none; background: #f8f9fa; border-radius: 6px; cursor: pointer; transition: all 0.2s; color: #333; } .page-btn.active { background: #007bff; color: white; } .page-btn:hover:not(.active) { background: #e9ecef; } </style> </head> <body> <div class="container"> <h1 class="title">文章列表</h1> <!-- 文章列表 --> <div id="articleList"></div> <!-- 分页按钮 --> <div class="pagination" id="pagination"></div> </div> <script> // 模拟数据(实际使用时替换为真实数据) const allArticles = Array.from({length: 25}, (_, i) => ({ id: i+1, title: `第 ${i+1} 篇文章 - ${'示例标题文本示例标题文本'.slice(0, 15)}` })); let currentPage = 1; const itemsPerPage = 10; // 初始化 function init() { renderArticles(); renderPagination(); } // 渲染文章列表 function renderArticles() { const start = (currentPage - 1) * itemsPerPage; const end = start + itemsPerPage; const currentArticles = allArticles.slice(start, end); const html = currentArticles.map(article => ` <div class="article-item"> ${article.title} </div> `).join(''); document.getElementById('articleList').innerHTML = html; } // 渲染分页按钮 function renderPagination() { const totalPages = Math.ceil(allArticles.length / itemsPerPage); let buttons = ''; for(let i=1; i<=totalPages; i++) { buttons += ` <button class="page-btn ${i === currentPage ? 'active' : ''}" onclick="changePage(${i})"> ${i} </button> `; } document.getElementById('pagination').innerHTML = buttons; } // 切换页面 function changePage(page) { currentPage = page; renderArticles(); renderPagination(); } // 初始化加载 init(); </script> </body> </html>
03-20
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值