您好,欢迎来到95分类目录!站长微信:vip3632094
当前位置:95分类目录 » 站长资讯 » 百度你丫收录啊 » 文章详细 订阅RssFeed

谷歌SEO优化教程:关键词、页面优化、内外链一文读懂 - Ecomools

来源:Ecomools 浏览:8538次 时间:2025-09-11
简介:Ecomools






Ecomools






已认证公众号



这里会分享一些不太一样的外贸建站、谷歌SEO、SEM以及B端独立站运营实操经验。网站:ecomools.com




扫码关注公众号












终于到这篇总集篇了,这一两星期一直在发谷歌SEO的内容,但是都是比较零碎的知识点,都是针对某个特定“排名因素”进行优化的教程。

而这一篇就是比较整体的谷歌SEO优化教程,能够把之前介绍的内容都整合起来,也算比较成体系的一篇文章,相较于纯理论,这篇总篇带有一定的可执行操作,虽然具体细节由于篇幅原因可能没有办法说得太细。

不过每个要点都有一篇文章做延展阅读,如果你卡在某个特定的地方不知道该如何优化,那么对应的延展阅读对你可能会有一点帮助。

啰嗦的话就讲这么多,下面直接进入正文。

谷歌SEO优化就是了解谷歌搜索引擎的运作规则来调整、优化网站,进而提高网站在谷歌搜索引擎内排名的方式。

谷歌SEO优化通常见效较慢。「新站点(没有太多外链的站点)或者知名度较低的站点一般需要持续3-6个月(甚至更长的时间)的优化才能够见到一个比较明显的效果。相比之下,具备一定的外链基础和在谷歌中有信任度的老站,优化成果会比较快显现出来。」

由此可见,「“信任”是谷歌极为看重的排名信号」

当然也有例外情况,像谷歌每天都有层出不穷的新词,如果你刚好抓到这个热点,生产出满足需求的页面,那么也是可以短时间内获得可观的流量。

但后续能否维持下来主要看用户数据反馈。

很多做谷歌AI出海的一般是这类打法。

不过外贸类网站天然与这类流量没有太多缘分,一般都是在红海里面竞争厮杀。我们这篇教程也是主要针对外贸类网站的谷歌SEO,所以整体操作流程会比较老派一点。

但是有效。

在本篇谷歌SEO优化教程中,我也会结合自身实战经验,讲解如何提升网站在谷歌眼中的信任度来带动整体排名,带你系统梳理如何做好谷歌SEO优化。

谷歌SEO适合谁?「对于希望获得稳定、高质量询盘和潜在客户线索的B2B、SaaS类企业来说,谷歌SEO是一种极具性价比、长期回报高的获客手段。追求内容长期变现和品牌积累的内容站或个人独立站主,也非常适合通过谷歌SEO获取自然流量。」

谷歌SEO优化的核心目标是什么?「我认为就是让更多目标客户主动通过谷歌找到你,并在这个过程中不断提升品牌知名度。」

实际上,品牌塑造不仅关系到企业在行业中的可见度和竞争力,也是谷歌SEO衡量网站权威性与信任度的重要标准。

可以说,SEO本质上也是为品牌建设赋能的渠道之一。

所以,建议大家不要把SEO看作唯一的流量来源,更要把它作为品牌长期成长的有力抓手。

谷歌SEO优化可以分为四个部分的内容:关键词研究、页面优化、技术性SEO优化和站外优化(外链建设)。

在正式开始我们谷歌SEO教程之前,我们先来粗略了解一下谷歌搜索引擎的工作原理:

谷歌搜索引擎的基本运作原理

「爬取」:Google 使用称为 web crawlers(如 Googlebot) 的自动化程序定期浏览网络,抓取网页上的文本、图片、视频等内容。

大多数网页是通过爬虫被发现而非人工提交的,且爬虫会确定每个网站的抓取频率与页数策略,并使用现代浏览器技术渲染页面(包括执行 JavaScript),以确保获取完整内容。

「索引」:已抓取的页面内容会被解析和分析,并被存储到 Google 的索引数据库中,相当于一个巨大的、按关键词组织的数字图书馆;Google会对内容进行聚类,并识别canonical页面(即一种代表性、更优质的页面)以避免重复收录。

「呈现搜索结果」:当用户发起搜索时,Google会在索引中查找匹配内容,并基于多个信号(如内容质量、相关性、用户位置、设备类型等)排序呈现结果。

排名机制背后涉及超过200多项信号与算法,例如 PageRank、内容新鲜度、链接质量、用户行为数据等。

了解了谷歌搜索基本的运作原理,有助于我们来进行谷歌SEO优化。

那么我们现在就正式进入这篇文章的正题,首先从关键词研究开始:

谷歌SEO第一步:关键词研究

关键词研究是谷歌SEO的基础环节。所谓关键词,就是用户在搜索引擎中输入的词语或短语。

关键词研究的核心,就是通过工具和分析,找出人们真实会搜索的内容,并关注每个关键词的搜索意图、排名难度和搜索量等关键指标。

这样我们才能理解目标受众的真实需求,发现有流量潜力的关键词,有针对性地优化网站内容。

在实际操作中,常见的关键词研究误区包括:

  • 不了解关键词背后的搜索意图,导致内容与用户需求不匹配;
  • 选择没有搜索量或过于冷门的关键词,页面做出来却没有流量;
  • 不去查看竞争对手实际在用哪些关键词及内容形式,就难以发现差异机会或避免盲目跟风
  • 只关注数据工具,不查看真实的SERP结果

如果在初期没有做好关键词研究,可能会让后续内容和优化工作走很多弯路,甚至造成资源浪费。

因此,在我们开始页面优化之前,首先要进行系统性的关键词研究

在明确页面的核心关键词后,还可以进一步补充一些语义相关的关键词,合理分布在内容中,提升页面整体相关性和排名潜力。

谷歌SEO第二步:页面优化

页面优化(On-Page SEO/站内优化)指的是通过对网站页面内容和结构的优化,让搜索引擎和用户都能更好地理解和使用你的网页。

你可以理解成:「制作满足用户搜索意图的内容,帮助页面更好地满足用户搜索意图,提高在Google等搜索引擎的排名和点击率。」

而在实际操作中,不同类型的页面在页面优化的侧重点不一样。

比如说我们做独立站,「那么产品页面的页面优化重点应该是突出产品卖点,提供相关参数表、客户关心的问题、对比图和安装演示。」 可以直接参考你们行业中的头部玩家。

而博客页面是企业与当前或者潜在客户接触的有效的方式,可以让客户更好地了解公司和产品,优化重点应该是解决用户在当前目前可能遇到的问题。

比如针对外贸客户常关心的“如何挑选合适的产品型号”、“采购流程有哪些注意事项”、“案例分析”、“行业趋势”等。

ToB和SaaS企业通过行业话题的深度挖掘,可以有效地解决客户的问题,并且与当前或潜在客户建立信任。

但是不同的页面都有共通的优化方向和技巧:

谷歌页面优化之一:TDK优化

如果要用一句话说明关键词布局的核心要点,那就是:「在标题(Title)、主副标题(H1、H2等)、正文、图片Alt标签、URL等核心位置自然地插入目标关键词。」 

这样既服务搜索引擎,也能够保证我们的内容流畅度。

古早的时候,谷歌SEO还会有TDK优化这一说法,所谓TDK优化就是针对Title、Description和Keyword这三个HTML标签来进行优化:

(T) Title

T指的是标签,<span textstyle="" style="font-weight: bold;">现在依然是页面SEO最重要的元素之一!</span></span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">谷歌和大多数主流搜索引擎都非常重视Title的内容,因为它直接影响页面能否精准匹配用户的搜索需求,也会作为搜索结果中的主标题展示。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">一个包含核心关键词、表达清晰、有吸引力的Title,依然是排名优化的关键。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">标题标签是提升CTR的关键,也因为标题标签(<title>)会展示在搜索引擎中和网页的标签栏里面,所以<title>中的内容尽可能要清晰并且相关。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">Title标签里面的内容决定(大多数情况下,小部分情况在这篇文章有补充说明)用户在谷歌搜索你的时候看到的内容,例如:</span></p><figure data-tool="markdown.com.cn编辑器" style="margin: 0;margin-top: 10px;margin-bottom: 10px;"><span leaf=""><img src="https://vpic.xiaoyanger.net/mmbiz_jpg/nU26bia3taGK7AA13d3OXicqibafeNz5Epe0KEY4MjvELFfO5Toiag5RmLtcCL2M6JIEAlhX0XMMVoy5txX3icRs6Cw/640?wx_fmt=other&from=appmsg" alt="Title标签的内容会显示在搜索结果上" class="rich_pages wxw-img" data-ratio="0.20989304812834225" data-type="other" data-w="748" style="width: auto;max-width: 100%;border-radius: 6px;display: block;margin: 20px auto;object-fit: contain;box-shadow: 2px 4px 7px #999;" data-imgfileid="100000908" /></span></figure><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">跟Title标签相关的一个概念是Heading标签。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">文章里面我们一般使用标签H2-H6(正文小标题)来优化内容层级。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">正确地使用Headings标签(H2-H6)能够帮助搜索引擎更好地理解你的内容,同时也能够帮助读者更好地理解内容,提高整体的可读性。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">我个人经验,如果页面内容不是很复杂,递进到H4就基本差不多了。更加深层次的内容更加推荐另起一篇文章来详细阐述。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">那你可能想说怎么直接跳过H1了呢?H1一般需要跟title标签的内容保持一致。用WordPress搭建的话,title标签跟H1标签的内容是自动保持一致的。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">H1标签同时与<title>标签的内容保持一致也是Ahrefs说的最佳实践。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf=""><span textstyle="" style="font-weight: bold;">推荐阅读:</span><a class="normal_text_link" target="_blank" style="" href="https://mp.weixin.qq.com/s?__biz=MzE5ODg1OTc2NA==&mid=2247484473&idx=3&sn=fd01815d95ff1d85a986bfa2148919d6&scene=21#wechat_redirect" textvalue="谷歌SEO页面优化之如何写SEO标题(带例子)" data-itemshowtype="0" linktype="text" data-linktype="2">谷歌SEO页面优化之如何写SEO标题(带例子)</a></span></p><h4 data-tool="markdown.com.cn编辑器" style="margin-top: 30px;margin-bottom: 15px;font-weight: bold;color: black;font-size: 18px;"><span style="display: none;"></span><span style="height: 16px;line-height: 16px;font-size: 16px;"><span style="display: inline-block;width: 16px;height: 16px;background-size: 100%;background-position: left bottom;background-repeat: no-repeat;width: 16px;height: 15px;line-height: 15px;margin-right: 6px;margin-bottom: -2px;"></span><span leaf="">(D) Description</span></span><span style="display: none;"></span></h4><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf=""><meta name=”description” content=”你的内容”></span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">这个标签也称作元描述标签,而里面的内容称作元描述。元描述不是排名因素,但是这个会影响你网页的点击率。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">一个写得吸引人的描述标签,能大大提升页面的点击和流量转化。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">但是目前,谷歌不会完全按照你所设置的元描述内容进行展示,而是会根据用户的搜索字词在你的页面中截取相关的内容展示在搜索结果中。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">根据Ahrefs的研究,62.78%的情况下谷歌会改写你的元描述。</span></p><figure data-tool="markdown.com.cn编辑器" style="margin: 0;margin-top: 10px;margin-bottom: 10px;"><span leaf=""><img src="https://vpic.xiaoyanger.net/mmbiz_jpg/nU26bia3taGK7AA13d3OXicqibafeNz5Epe0KEY4MjvELFfO5Toiag5RmLtcCL2M6JIEAlhX0XMMVoy5txX3icRs6Cw/640?wx_fmt=other&from=appmsg" class="rich_pages wxw-img" data-ratio="0.20989304812834225" data-type="other" data-w="748" style="width: auto;max-width: 100%;border-radius: 6px;display: block;margin: 20px auto;object-fit: contain;box-shadow: 2px 4px 7px #999;" data-imgfileid="100000909" /></span></figure><figure data-tool="markdown.com.cn编辑器" style="margin: 0;margin-top: 10px;margin-bottom: 10px;"><span leaf=""><img src="https://vpic.xiaoyanger.net/mmbiz_jpg/nU26bia3taGK7AA13d3OXicqibafeNz5EpevqphibDjEYWZzUQlNejpu8unxYPPnI35xmbnmoulATcv3p2B1jqwfgw/640?wx_fmt=other&from=appmsg" class="rich_pages wxw-img" data-ratio="0.21715076071922546" data-type="other" data-w="723" style="width: auto;max-width: 100%;border-radius: 6px;display: block;margin: 20px auto;object-fit: contain;box-shadow: 2px 4px 7px #999;" data-imgfileid="100000910" /></span></figure><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">对比上面两张SERP截图,我分别用了两个不同的搜索词来搜我的这个页面:分别是外贸建站和 ecomools (我的品牌名),所以在SERP的描述部分就会显示不同的结果。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf=""><span textstyle="" style="font-weight: bold;">推荐阅读:</span><a class="normal_text_link" target="_blank" style="" href="https://mp.weixin.qq.com/s?__biz=MzE5ODg1OTc2NA==&mid=2247484473&idx=2&sn=45d75c5a6fefb91b7a506fd73fd4f0a8&scene=21#wechat_redirect" textvalue="谷歌SEO页面优化之元描述标签优化技巧" data-itemshowtype="0" linktype="text" data-linktype="2">谷歌SEO页面优化之元描述标签优化技巧</a></span></p><h4 data-tool="markdown.com.cn编辑器" style="margin-top: 30px;margin-bottom: 15px;font-weight: bold;color: black;font-size: 18px;"><span style="display: none;"></span><span style="height: 16px;line-height: 16px;font-size: 16px;"><span style="display: inline-block;width: 16px;height: 16px;background-size: 100%;background-position: left bottom;background-repeat: no-repeat;width: 16px;height: 15px;line-height: 15px;margin-right: 6px;margin-bottom: -2px;"></span><span leaf="">(K) Keyword</span></span><span style="display: none;"></span></h4><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf=""><meta name=”keyword” content=”关键词1, 关键词变体1,关键词变体2,关键词变体3″></span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">这个标签在早期SEO确实很重要,但现在谷歌和主流搜索引擎基本已经完全忽略meta keywords的内容。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">就是说你自己写了不算数,谷歌不认。而且对排名不会有任何影响,可以直接忽略。那么我们怎么优化这个TDK呢?</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">简单。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">用WordPress建站的朋友可以用Yoast SEO或者Rank Math插件,使用之后会在编辑Post和Page的下方提供让你设置TDK的区域,如下图:</span></p><figure data-tool="markdown.com.cn编辑器" style="margin: 0;margin-top: 10px;margin-bottom: 10px;"><span leaf=""><img src="https://vpic.xiaoyanger.net/mmbiz_jpg/nU26bia3taGK7AA13d3OXicqibafeNz5EpelzjghTgCsS79RloFtl5VT6hiaaTDnoicUUOguOYyC2m3C60NKDT5KAKw/640?wx_fmt=other&from=appmsg" class="rich_pages wxw-img" data-ratio="1.111963190184049" data-type="other" data-w="652" style="width: auto;max-width: 100%;border-radius: 6px;display: block;margin: 20px auto;object-fit: contain;box-shadow: 2px 4px 7px #999;" data-imgfileid="100000906" /></span></figure><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">如果你是通过代码建站的那你就要手动添加这几个html标签了。</span></p><h3 data-tool="markdown.com.cn编辑器" style="color: black;font-size: 18px;font-weight: bold;text-align: center;margin-top: 20px;margin-bottom: 20px;"><span style="display: none;"></span><span style="border-bottom: 2px solid rgba(0, 88, 204, 0.7);color: #2b2b2b;padding-bottom: 2px;text-align: left;"><span style="width: 30px;height: 30px;display: block;background-position: center;background-size: 30px;margin: auto;opacity: 1;background-repeat: no-repeat;margin-bottom: -8px;"></span><span leaf="">谷歌页面优化之二:URL优化</span></span><span style="display: none;"></span></h3><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">URL的设置也很简单,主要原则就是尽量保持简洁的同时将关键词实体(或相关变体)放在URL中。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">我个人的习惯是会在URL中去掉数字、年份、和无意义的定词、介词、连词。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">定介连词留着会让URL变得很长。数字和年份是强烈建议去掉的,主要是为了方便后续更改标题的数字和年份的时候可以保持URL不变。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">比如说你有一篇review 文章:</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">Best Electric Vehicle Brands in 2022 (URL是 best-electric-vehicle-brands-in-2022),等到今年你标题换成了Best Electric Vehicle Brands in 20XX,你的URL是不会跟着变的。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">你如果改动了URL而且没有做301,谷歌就会认为是一篇新的文章,需要重新识别。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">重新识别的过程中原有的排名会消失掉,损失一段时间的流量。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">我举个栗子就应该能够了解要如何设置URL了:</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">你的标题:5 Maintenance Tips for Electric Vehicle</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">那么URL写成这几种方式:</span></p><ul style="margin-top: 8px;margin-bottom: 8px;padding-left: 25px;font-size: 15px;color: #595959;list-style-type: circle;" class="list-paddingleft-1"><li><section style="margin-top: 5px;margin-bottom: 5px;line-height: 26px;text-align: left;font-size: 15px;font-weight: 400;color: #3a3a3a;"><span leaf="">https://yoursite.com/electric-vehicle-maintenance-tips</span></section></li><li><section style="margin-top: 5px;margin-bottom: 5px;line-height: 26px;text-align: left;font-size: 15px;font-weight: 400;color: #3a3a3a;"><span leaf="">https://yoursite.com/maintenance-tips-for-electric-vehicle</span></section></li><li><section style="margin-top: 5px;margin-bottom: 5px;line-height: 26px;text-align: left;font-size: 15px;font-weight: 400;color: #3a3a3a;"><span leaf="">https://yoursite.com/maintenance-tips-electric-vehicle</span></section></li></ul><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">都是OK的。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf=""><span textstyle="" style="font-weight: bold;">推荐阅读:</span><a class="normal_text_link" target="_blank" style="" href="https://mp.weixin.qq.com/s?__biz=MzE5ODg1OTc2NA==&mid=2247484468&idx=1&sn=409a0cbc527b9fdf348f0bd54d16b853&scene=21#wechat_redirect" textvalue="清单版:「SEO友好的URL」必须掌握的13条规则(含示例)" data-itemshowtype="0" linktype="text" data-linktype="2">清单版:「SEO友好的URL」必须掌握的13条规则(含示例)</a></span></p><h3 data-tool="markdown.com.cn编辑器" style="color: black;font-size: 18px;font-weight: bold;text-align: center;margin-top: 20px;margin-bottom: 20px;"><span style="display: none;"></span><span style="border-bottom: 2px solid rgba(0, 88, 204, 0.7);color: #2b2b2b;padding-bottom: 2px;text-align: left;"><span style="width: 30px;height: 30px;display: block;background-position: center;background-size: 30px;margin: auto;opacity: 1;background-repeat: no-repeat;margin-bottom: -8px;"></span><span leaf="">谷歌页面优化之三:内链优化</span></span><span style="display: none;"></span></h3><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">内链在页面优化中应该是最重要的一部分,通过良好的内链结构,可以提升主题及其簇集的权威性,从而带来更高的排名。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">内链应该插入在合适的地方,不自然的内链插入或者不符合语义的内链其实会对用户体验有负面的影响。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">我个人在使用Link Whisper作为辅助的内链插入工具。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">当然像Screaming Frog,Ahrefs,SEMrush这类工具都是能够在建设内链这块有所帮助的。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">除了内链,外部链接也可以很好地为读者提供额外的参考或者信息源。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">这也是谷歌推荐的为用户提供价值的方法。但是请注意不要乱添加,也不是越多越好。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">在链接的时候使用Nofollow或者sponsered标记赞助或付费链接。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><em style="font-style: normal;color: #3594F7;font-weight: bold;"><span leaf="">题外话:如果你想卖外链的话,大多数情况下买方会要求不能加nofollow属性。</span></em></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf=""></span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">网站结构优化也属于是内链优化的一部分,虽然不是同一个概念。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">我们在做内链优化的时候注意保证我们的网站结构是一个扁平化的网站结构。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">这个<a class="normal_text_link" target="_blank" style="" href="https://mp.weixin.qq.com/s?__biz=MzE5ODg1OTc2NA==&mid=2247484436&idx=1&sn=8747f8006fa67f3022ff32781a4bf939&scene=21#wechat_redirect" textvalue="扁平化网站结构" data-itemshowtype="0" linktype="text" data-linktype="2">扁平化网站结构</a>指的是把网站的页面层级控制在较少的层级内,让用户和搜索引擎都能用较少的点击(一般不超过3次)就能从首页访问到网站的任何一个重要页面。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">好处就是说能够让用户和搜索引擎都能方便快捷地访问到所有重要页面(产品、服务等页面)。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><em style="font-style: normal;color: #3594F7;font-weight: bold;"><span leaf="">一般来说你用WordPress建站做不出不是扁平化的网站结构,因为我还真没见过,你要是能做出来那你高低得让我涨涨见识…</span></em></p><h3 data-tool="markdown.com.cn编辑器" style="color: black;font-size: 18px;font-weight: bold;text-align: center;margin-top: 20px;margin-bottom: 20px;"><span style="display: none;"></span><span style="border-bottom: 2px solid rgba(0, 88, 204, 0.7);color: #2b2b2b;padding-bottom: 2px;text-align: left;"><span style="width: 30px;height: 30px;display: block;background-position: center;background-size: 30px;margin: auto;opacity: 1;background-repeat: no-repeat;margin-bottom: -8px;"></span><span leaf="">谷歌页面优化之四:优化图片</span></span><span style="display: none;"></span></h3><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">谷歌SEO中的图片优化就是指通过一系列技术和策略,提升网站图片在搜索引擎中的排名,以增加网站流量。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">图片优化还能加快页面加载速度,提升用户体验。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">高质量、快速加载的图片不仅能吸引更多访客,还能提高社交媒体分享效果,增强品牌形象。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">图片优化一般包括以下三个内容:</span></p><ul style="margin-top: 8px;margin-bottom: 8px;padding-left: 25px;font-size: 15px;color: #595959;list-style-type: circle;" class="list-paddingleft-1"><li><section style="margin-top: 5px;margin-bottom: 5px;line-height: 26px;text-align: left;font-size: 15px;font-weight: 400;color: #3a3a3a;"><strong style="color: #3594F7;font-weight: bold;"><span leaf="">「首先,图片内容要与文本相关。」</span></strong><span leaf=""> 谷歌能够从图像中提取有用的信息来理解图片的内容,如果放在网页中的图片与文本不相关,那么会给谷歌理解你的网页带来困难。参考同行的图片,可以迅速确定图片风格。</span></section></li><li><section style="margin-top: 5px;margin-bottom: 5px;line-height: 26px;text-align: left;font-size: 15px;font-weight: 400;color: #3a3a3a;"><strong style="color: #3594F7;font-weight: bold;"><span leaf="">「图片名称」</span></strong><span leaf="">:图片名称可直接使用关键词命名。</span></section></li><li><section style="margin-top: 5px;margin-bottom: 5px;line-height: 26px;text-align: left;font-size: 15px;font-weight: 400;color: #3a3a3a;"><strong style="color: #3594F7;font-weight: bold;"><span leaf="">「标题」</span></strong><span leaf="">:图片的标题,可以填写。</span></section></li><li><section style="margin-top: 5px;margin-bottom: 5px;line-height: 26px;text-align: left;font-size: 15px;font-weight: 400;color: #3a3a3a;"><strong style="color: #3594F7;font-weight: bold;"><span leaf="">「替代文本(Alt文本)」</span></strong><span leaf="">:Alt文本能够帮助谷歌正确理解图片的内容。当图片因为网速或者其他原因加载失败的时候,会显示这个Alt文本,帮助用户理解图片内容。在写Alt文本的时候,采用简短的语言来描述图片内容即可。关于图片名称、图片标题和替代文本,可以直接参考谷歌官方的图片优化最佳实践。里面有丰富的案例说明应该如何进行图片SEO优化。</span></section></li><li><section style="margin-top: 5px;margin-bottom: 5px;line-height: 26px;text-align: left;font-size: 15px;font-weight: 400;color: #3a3a3a;"><strong style="color: #3594F7;font-weight: bold;"><span leaf="">「图片格式和大小」</span></strong><span leaf="">:图片的格式会影响图片的大小,进而影响网站加载的速度,我们可以使用图片优化插件来压缩图片大小。</span></section></li></ul><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf=""><span textstyle="" style="font-weight: bold;">推荐阅读:</span> <a class="normal_text_link" target="_blank" style="" href="https://mp.weixin.qq.com/s?__biz=MzE5ODg1OTc2NA==&mid=2247484497&idx=1&sn=ed36abb28be5d5c7c3c8697d7dcb0f62&scene=21#wechat_redirect" textvalue="谷歌SEO图片优化技巧与最佳实践" data-itemshowtype="0" linktype="text" data-linktype="2">谷歌SEO图片优化技巧与最佳实践</a></span></p><h4 data-tool="markdown.com.cn编辑器" style="margin-top: 30px;margin-bottom: 15px;font-weight: bold;color: black;font-size: 18px;"><span style="display: none;"></span><span style="height: 16px;line-height: 16px;font-size: 16px;"><span style="display: inline-block;width: 16px;height: 16px;background-size: 100%;background-position: left bottom;background-repeat: no-repeat;width: 16px;height: 15px;line-height: 15px;margin-right: 6px;margin-bottom: -2px;"></span><span leaf="">拓展阅读:通过优化内容获得精选片段Featured Snippet</span></span><span style="display: none;"></span></h4><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">精选片段(Featured Snippets)就是谷歌搜索顶部的简短文本片段,以便搜索者快速知道问题的答案。我们一般说它是0号位。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">精选片段对网站的曝光率和点击率有显著的提升。页面获得精选片段可以增加网页的曝光率20-30%,点击率(CTR)可能会提高2-8倍。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">精选片段会根据文章的类型来展示成不同的格式,一般包括:定义、表格、列表等类型。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">需要注意的是,0号位这种我们是不能够去控制的,只有在满足特定的查询下才会触发。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf=""></span></p><h2 data-tool="markdown.com.cn编辑器" style="margin-bottom: 15px;font-weight: bold;color: black;margin: 10px auto;font-size: 20px;background-color: rgb(251, 251, 251);border-bottom: 1px solid rgb(246, 246, 246);margin-top: 20px;text-align: left;"><span style="display: none;"></span><span style="margin-left: -10px;display: inline-block;width: auto;background-color: rgb(33, 33, 34);border-bottom-right-radius: 100px;color: rgb(255, 255, 255);padding-right: 30px;padding-left: 30px;line-height: 40px;font-size: 18px;text-align: left;"><span leaf="">谷歌SEO第三步:技术性SEO</span></span></h2><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">技术SEO是涵盖了网站速度优化、移动友好性、结构化数据、网站安全等多个方面优化,最终目的是使搜索引擎更容易查找、抓取、理解和索引你的页面。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">还记得我们前面说过的谷歌搜索引擎工作流程的3个阶段:抓取、索引和呈现搜索结果吗。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">技术性SEO是为了重点服务前面两个阶段:抓取和索引的。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">技术性SEO的内容会比较多且杂,但好消息是用WordPress搭建的网站使用Rank Math这款插件可以帮我们处理绝大部分的技术SEO问题。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">所以实操起来,更像是SEO插件的使用指南。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">我这里主要讲一下使用WordPress的时候我们可以做一些什么来提升我们网站在谷歌的抓取与收录效果。</span></p><h3 data-tool="markdown.com.cn编辑器" style="color: black;font-size: 18px;font-weight: bold;text-align: center;margin-top: 20px;margin-bottom: 20px;"><span style="display: none;"></span><span style="border-bottom: 2px solid rgba(0, 88, 204, 0.7);color: #2b2b2b;padding-bottom: 2px;text-align: left;"><span style="width: 30px;height: 30px;display: block;background-position: center;background-size: 30px;margin: auto;opacity: 1;background-repeat: no-repeat;margin-bottom: -8px;"></span><span leaf="">1. 良好的网站、网址结构</span></span><span style="display: none;"></span></h3><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">首先,要确保我们的网站结构足够扁平,所有重要页面最好能在 3~4 次点击内从首页到达,这样更有利于搜索引擎抓取和权重传递。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">同时,导航菜单和面包屑导航要清晰,方便用户和搜索引擎理解网站层级。</span></p><figure data-tool="markdown.com.cn编辑器" style="margin: 0;margin-top: 10px;margin-bottom: 10px;"><span leaf=""><img src="https://vpic.xiaoyanger.net/mmbiz_jpg/nU26bia3taGK7AA13d3OXicqibafeNz5EpeR1Zwe7rO7zTEk34G3mfSRVZ69cfLRJ7RrnBSw3VLzmbPNCdjfRtJKA/640?wx_fmt=jpeg&from=appmsg" class="rich_pages wxw-img" data-ratio="0.3215130023640662" data-type="jpeg" data-w="846" style="width: auto;max-width: 100%;border-radius: 6px;display: block;margin: 20px auto;object-fit: contain;box-shadow: 2px 4px 7px #999;" data-imgfileid="100000907" /></span></figure><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">第二点是要让我们的网址结构易于理解,方便用户和搜索引擎一眼看懂。</span></p><p data-tool="markdown.com.cn编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;color: #2b2b2b;margin: 10px 0px;letter-spacing: 2px;font-size: 16px;word-spacing: 2px;text-align: left;"><span leaf="">关于 URL 的优化,我们的<a class="normal_text_link" target="_blank" style="" href="https://mp.weixin.qq.com/s?__biz=MzE5ODg1OTc2NA==&mid=2247484468&idx=1&sn=409a0cbc527b9fdf348f0bd54d16b853&scene=21#wechat_redirect" textvalue="页面优化之URL优化" data-itemshowtype="0" linktype="text" data-linktype="2">页面优化之URL优化</a>中有所提及,且谷歌官方文档有非常详细的推荐和反例说明,可以参考其最佳实践。我这边就不再反复说明了。</span></p><h3 data-tool="markdown.com.cn编辑器" style="color: black;font-size: 18px;font-weight: bold;text-align: center;</div> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7900219627358725" crossorigin="anonymous"></script> <!-- 95dir-shouye-vip-xiamian --> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-7900219627358725" data-ad-slot="5028809478" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> <div class="hcatelist"> <li><i class="fas fa-tag"></i>标签: <a href="/artinfo/18208.html" title="查看更多关于'Ecomools'的文章">Ecomools</a> <a href="/artinfo/18208.html" title="查看更多关于'gh_6ba77c67ab36'的文章">gh_6ba77c67ab36</a> </li> </div> <!-- SEO内链优化:相关文章和导航 --> <div class="seo-internal-links" style="margin: 20px 0; padding: 15px; background: #f8f9fa; border-radius: 8px; border-left: 4px solid #28a745;"> <h4 style="margin: 0 0 12px 0; font-size: 16px; color: #333; font-weight: bold;"> <i class="fas fa-link" style="color: #28a745; margin-right: 8px;"></i>相关推荐 </h4> <div style="line-height: 2.2; font-size: 14px;"> <a href="/article/320.html" title="浏览更多百度你丫收录啊文章" style="color: #28a745; text-decoration: none; margin-right: 15px;"> <i class="fas fa-folder" style="margin-right: 5px;"></i>更多百度你丫收录啊文章 </a> <a href="/article/" title="站长资讯" style="color: #28a745; text-decoration: none; margin-right: 15px;"> <i class="fas fa-newspaper" style="margin-right: 5px;"></i>站长资讯 </a> <a href="/webdir/" title="网站目录" style="color: #28a745; text-decoration: none; margin-right: 15px;"> <i class="fas fa-sitemap" style="margin-right: 5px;"></i>网站目录 </a> <a href="/update/" title="最新收录" style="color: #28a745; text-decoration: none; margin-right: 15px;"> <i class="fas fa-clock" style="margin-right: 5px;"></i>最新收录 </a> <a href="/vip_list/" title="VIP网站" style="color: #28a745; text-decoration: none;"> <i class="fas fa-crown" style="margin-right: 5px;"></i>VIP网站 </a> </div> </div> <div id="relsite" class="clearfix"> <h2>相关站点</h2> <ul class="rellist" itemscope itemtype="https://schema.org/ItemList"> <li itemprop="itemListElement" itemscope itemtype="https://schema.org/WebSite"><a href="/siteinfo/9943.html" title="访问AI工具导航站 - 发现优质实用AI工具网站网站" itemprop="url"><img src="/public/images/nopic.gif" width="100" height="80" alt="AI工具导航站 - 发现优质实用AI工具网站网站截图" itemprop="image" /><strong itemprop="name">AI工具导航站 - 发现优质实用AI工具网站</strong></a></li> <li itemprop="itemListElement" itemscope itemtype="https://schema.org/WebSite"><a href="/siteinfo/9942.html" title="访问洛谷网站" itemprop="url"><img src="/uploads/website/www.luogu.com.cn.jpg" width="100" height="80" alt="洛谷网站截图" itemprop="image" /><strong itemprop="name">洛谷</strong></a></li> <li itemprop="itemListElement" itemscope itemtype="https://schema.org/WebSite"><a href="/siteinfo/9941.html" title="访问LearnKu 终身编程者的知识社区网站" itemprop="url"><img src="/uploads/website/learnku.com.jpg" width="100" height="80" alt="LearnKu 终身编程者的知识社区网站截图" itemprop="image" /><strong itemprop="name">LearnKu 终身编程者的知识社区</strong></a></li> <li itemprop="itemListElement" itemscope itemtype="https://schema.org/WebSite"><a href="/siteinfo/9940.html" title="访问360搜索,SO靠谱网站" itemprop="url"><img src="/public/images/nopic.gif" width="100" height="80" alt="360搜索,SO靠谱网站截图" itemprop="image" /><strong itemprop="name">360搜索,SO靠谱</strong></a></li> <li itemprop="itemListElement" itemscope itemtype="https://schema.org/WebSite"><a href="/siteinfo/9939.html" title="访问搜狗搜索网站" itemprop="url"><img src="/uploads/website/m.sogou.com.webp" width="100" height="80" alt="搜狗搜索网站截图" itemprop="image" /><strong itemprop="name">搜狗搜索</strong></a></li> <li itemprop="itemListElement" itemscope itemtype="https://schema.org/WebSite"><a href="/siteinfo/9938.html" title="访问屏蔽iphone系统自动升级方法网站" itemprop="url"><img src="/uploads/website/ai.id64.com.webp" width="100" height="80" alt="屏蔽iphone系统自动升级方法网站截图" itemprop="image" /><strong itemprop="name">屏蔽iphone系统自动升级方法</strong></a></li> <li itemprop="itemListElement" itemscope itemtype="https://schema.org/WebSite"><a href="/siteinfo/9937.html" title="访问Krill AI网站" itemprop="url"><img src="/uploads/website/www.krill-ai.com.webp" width="100" height="80" alt="Krill AI网站截图" itemprop="image" /><strong itemprop="name">Krill AI</strong></a></li> <li itemprop="itemListElement" itemscope itemtype="https://schema.org/WebSite"><a href="/siteinfo/9936.html" title="访问StoryFab网站" itemprop="url"><img src="/public/images/nopic.gif" width="100" height="80" alt="StoryFab网站截图" itemprop="image" /><strong itemprop="name">StoryFab</strong></a></li> </ul> </div> <div class="text-xs text-muted"><div><span>©</span> 版权声明</div><div class="posts-copyright"><div><br><fieldset style="border:1px dashed #008CFF;padding:10px;border-radius:8px;line-height: 2em;color: #6D6D6D"><legend align="center" style="color:#FFFFFF;width:200px;text-align:center;background-color:#008CFF;font-size: 14px;border-radius: 5px">95分类目录 - 版权声明</legend>1、本主题所有言论和图片纯属会员个人意见,与本站立场无关。<br> 2、本站所有主题由该文章作者发表,该文章作者与<a href="https://95dir.com/" rel="nofollow"><font color="#FF6600">95分类目录</font></a>享有文章相关版权。<br> 3、其他单位或个人使用、转载或引用本文时必须同时征得该文章作者和<a href="https://www.95dir.com/" rel="nofollow"><font color="#FF6600">95分类目录</font></a>的同意。<br> 4、文章作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任。<br> 5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责。<br> 6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意。<br> 7、<a href="https://95dir.com/" rel="nofollow"><font color="#FF6600">95分类目录</font></a>管理员有权不事先通知发贴者而删除本文。</fieldset><br></div></div></div> <!-- 打赏按钮 --> <div class="donate-button-container"> <button onclick="showDonatePopup()">打赏支持</button> <div class="fenxiang"><div class="social-share"></div></div> </div><!-- 打赏弹窗 --> <div id="donate-popup" style="display:none;"> <div class="donate-popup-content"> <span class="close" onclick="closeDonatePopup()">×</span> <h3>您的赞助更新的动力</h3> <div class="donate-qr-codes"> <div> <h4>微信打赏</h4> <img src="https://cdn.jsdelivr.net/gh/zhuxiaoming2001/tuchuang/wzlingdi/202412022206265.png" alt="WeChat QR Code"> </div> <div> <h4>支付宝打赏</h4> <img src="https://cdn.jsdelivr.net/gh/zhuxiaoming2001/tuchuang/wzlingdi/202412022206984.png" alt="Alipay QR Code"> </div> </div> </div> </div> <ul class="prevnext"> <li>上一篇: <a href="/artinfo/18207.html">???????????????????????? 周杰伦|或许你也喜欢jay - 悠狸的小氛围</a></li> <li>下一篇: <a href="/artinfo/18209.html">???????????????????????? |累了就去吹风 很累就听听周杰伦的歌 - 悠狸的小氛围</a></li> </ul> </div> <!-- 文章评论功能 --> <div class="blank10"></div> <div id="article-comments" class="clearfix"> <h2 style="color: #667eea;font-size:16px;">💬 文章评论</h2> <!-- 评论统计 --> <div id="comment-stats" class="comment-stats" style="background: #f8f9fa; padding: 15px; border-radius: 8px; margin-bottom: 20px;"> <div style="text-align: center; color: #666;"> <span id="loading-stats">正在加载评论统计...</span> </div> </div> <!-- 评论表单 --> <div class="comment-form" style="background: #fff; padding: 20px; border: 1px solid #e9ecef; border-radius: 8px; margin-bottom: 20px;"> <h3 style="margin-top: 0; color: #333; font-size: 16px;">发表评论</h3> <form id="comment-form"> <input type="hidden" name="art_id" value="18208"> <!-- 评论内容 --> <div style="margin-bottom: 15px;"> <label style="display: block; margin-bottom: 5px; font-weight: bold;">评论内容:</label> <div class="textarea-container" style="position: relative;"> <textarea name="comment_content" id="main-comment-textarea" placeholder="请分享您对这篇文章的看法,支持表情和媒体链接..." style="width: 100%; height: 100px; padding: 10px; border: 1px solid #ddd; border-radius: 4px; resize: vertical; font-family: inherit;" maxlength="1000"></textarea> <!-- 表情按钮 --> <button type="button" id="emoji-btn-main" style="position: absolute; right: 10px; bottom: 10px; background: none; border: none; font-size: 18px; cursor: pointer; padding: 5px; z-index: 10;">😊</button> <!-- 表情选择器 --> <div id="emoji-picker-main-comment-textarea" class="emoji-picker" style="display: none; position: absolute; top: 100%; left: 0; right: 0; background: white; border: 1px solid #ddd; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.15); z-index: 1000; margin-top: 5px;"> <div class="emoji-grid"> <span onclick="insertEmoji('main-comment-textarea', '😊')">😊</span> <span onclick="insertEmoji('main-comment-textarea', '😂')">😂</span> <span onclick="insertEmoji('main-comment-textarea', '❤️')">❤️</span> <span onclick="insertEmoji('main-comment-textarea', '👍')">👍</span> <span onclick="insertEmoji('main-comment-textarea', '👎')">👎</span> <span onclick="insertEmoji('main-comment-textarea', '😍')">😍</span> <span onclick="insertEmoji('main-comment-textarea', '😭')">😭</span> <span onclick="insertEmoji('main-comment-textarea', '😱')">😱</span> <span onclick="insertEmoji('main-comment-textarea', '🤔')">🤔</span> <span onclick="insertEmoji('main-comment-textarea', '😴')">😴</span> <span onclick="insertEmoji('main-comment-textarea', '🎉')">🎉</span> <span onclick="insertEmoji('main-comment-textarea', '🔥')">🔥</span> <span onclick="insertEmoji('main-comment-textarea', '💯')">💯</span> <span onclick="insertEmoji('main-comment-textarea', '⭐')">⭐</span> <span onclick="insertEmoji('main-comment-textarea', '🚀')">🚀</span> <span onclick="insertEmoji('main-comment-textarea', '💡')">💡</span> </div> </div> </div> <div style="text-align: right; font-size: 12px; color: #999; margin-top: 5px;"> <span id="char-count">0</span>/1000字符 </div> </div> <!-- 验证码 + 提交按钮 --> <div style="text-align:center; margin-top:20px;"> <div style="display:inline-flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:center;"> <!-- 验证码输入框 --> <input type="text" name="code" id="comment-code-input" placeholder="验证码" maxlength="6" style="width:90px; height:36px; padding:5px 8px; border:1px solid #ccc; border-radius:4px; font-size:14px; text-align:center;" /> <!-- 验证码图片 --> <span id="mycode" style="vertical-align:middle;"></span> <!-- 提交按钮 --> <button type="submit" style="background:#007bff; color:white; padding:8px 25px; border:none; border-radius:4px; cursor:pointer; font-size:14px;"> 发表评论 </button> </div> </div> </form> </div> <!-- 评论列表 --> <div id="comments-list" class="comments-list"> <div style="text-align: center; color: #666; padding: 20px;"> 正在加载评论... </div> </div> </div> <div class="blank10"></div> </div> <aside id="mainbox-right"> <!--<div class="ad250x250"></div>--> <div class="blank10"></div> <div id="bestart"> <h3>推荐资讯</h3> <ul class="artlist_b"> <li><a href="/artinfo/1533707.html">2026年洛谷官方网站入口+深度测评</a></li> <li><a href="/artinfo/1533706.html">2026年LearnKu 终身编程者的知识社区官方网站入口+深度测评</a></li> <li><a href="/artinfo/1533705.html">2026流量变现生死劫:从“江阴论坛”的本地困局,看元宇宙商业落地场景的虚与实</a></li> <li><a href="/artinfo/1533704.html">拒绝“一点点”式自嗨:2026年企业私有化大模型部署的骨感现实与破局</a></li> <li><a href="/artinfo/1533703.html">2026美学通胀与技术脱节:从“电脑技术吧”的硬核审视,看企业官网品牌视觉升级的虚与实</a></li> <li><a href="/artinfo/1533702.html">2026高校招聘网的流量遮羞布:长尾关键词矩阵是救命稻草,还是自嗨式自残?</a></li> <li><a href="/artinfo/1533701.html">2026割裂现状:当“mac论坛”的精致极客,撞上“ESG可持续发展报告”的硬核指标</a></li> <li><a href="/artinfo/1533700.html">2026拒绝自嗨式自救:从chuanglian511.com看四川传统企业官网品牌视觉升级的流量生路</a></li> <li><a href="/artinfo/1533699.html">2026年情怀重塑与安全红线:奥比岛小花仙小游戏合集的AI审核技术突围</a></li> <li><a href="/artinfo/1533698.html">2026技术效能白皮书:高效自然语言处理与死链404自动化监控的工程化落地</a></li> </ul> </div> <div class="blank10"></div> <div id="bestweb" class="mag"> <h3>推荐站点</h3> <ul class="weblist_b"> <li><a href="/siteinfo/9943.html"><img src="/public/images/nopic.gif" width="100" height="80" alt="AI工具导航站 - 发现优质实用AI工具网站" loading="lazy"></a><strong><a href="/siteinfo/9943.html" title="AI工具导航站 - 发现优质实用AI工具网站">AI工具导航站 - 发现优质实用AI工具网站</a></strong><p>AI工具导航站(asll.net)是一个致力于帮助用户发现全球优质、实用AI工具的一站式网站导航平台。平台紧跟人工智能发展前沿,系统性地收录并分类整理了涵盖AI写作、AI绘画、音视频处理、编程开发及办公协同等多个领域的尖端生产力工具。我们通过严格的筛选机制与多维度评估,为职场人士、创作者和开发者提供精准的工具分类索引与直达链接。无论您是寻求提升工作效率,还是探索前沿AI应用,都能在此快速定位最适合的智能化解决方案,轻松开启高效智能的数字化工作流。</p><address><a href="http://asll.net" target="_blank" rel="noopener" class="visit" onClick="clickout(9943)">asll.net</a></address></li> <li><a href="/siteinfo/9919.html"><img src="/uploads/website/shuzinengliang.oss-cn-beijing.aliyuncs.com.webp" width="100" height="80" alt="号令天下" loading="lazy"></a><strong><a href="/siteinfo/9919.html" title="号令天下">号令天下</a></strong><p>号令天下(913.com.cn)是国内专业的手机号码测吉凶及数字能量分析平台。网站依托传统周易五行理论,融合现代数字能量学,独创“八星排盘”测算系统,为用户提供免费、便捷的手机号吉凶查询服务。通过深度解析手机号码背后的数理磁场,帮助用户全面了解号码对个人运势、财运及事业的潜在影响。号令天下致力于用科学严谨的态度解读数字密码,引导用户理性看待数字能量,为您挑选吉祥号码、优化人生运势提供客观的决策参考。</p><address><a href="http://913.com.cn" target="_blank" rel="noopener" class="visit" onClick="clickout(9919)">913.com.cn</a></address></li> <li><a href="/siteinfo/22.html"><img src="/uploads/website/www.sdkaikai.cn.jpg" width="100" height="80" alt="烨烨科技" loading="lazy"></a><strong><a href="/siteinfo/22.html" title="烨烨科技">烨烨科技</a></strong><p>济南烨烨生物科技有限公司集科研,生产,销售三苯基膦,2-氰基吡嗪,异戊烯醇,3-甲基-2-丁烯醇,异佛尔酮,二溴海因,无水叔丁醇,2-氨基-5-溴苯甲酸,异戊烯醛,酚醛树脂等产品。氧化苯乙烯,,间苯二甲醚,2-氰基吡嗪,二甲基硫醚,异戊烯醛,异戊烯醇,环戊酮,丙二腈,偶氮二异丁腈,叔丁醇医药中间体,酚醛树脂</p><address><a href="http://www.sdkaikai.cn" target="_blank" rel="noopener" class="visit" onClick="clickout(22)">www.sdkaikai.cn</a></address></li> <li><a href="/siteinfo/21.html"><img src="/uploads/website/www.sdxinyekeji.cn.jpg" width="100" height="80" alt="山东欣烨生物" loading="lazy"></a><strong><a href="/siteinfo/21.html" title="山东欣烨生物">山东欣烨生物</a></strong><p>山东欣烨生物科技有限公司集科研,生产,销售N-乙烯基吡咯烷酮,聚维酮k30;聚乙烯吡咯烷酮,对苯二酚,异戊烯醛,异戊烯醇321,防黄剂,丁酰肼原药,固体甲醇钠,甲醇钠溶液,乙醇钠溶液,丁酰肼原药,甲醇钠溶液,乙醇钠溶液,异戊烯醇,3-甲基-2-丁烯醇,异佛尔酮,无水叔丁醇,2-氨基-5-溴苯甲酸,异戊烯醛,农药中间体系列,生物制药系列,医药中间体系列,化学溶剂系列,阻燃剂系列,化学试剂系列,颜料燃料系列,橡胶塑料系列,酚醛树脂等系列产品。拥有自营进出口权,产品远销日本、韩国、欧美等发达国家。</p><address><a href="http://www.sdxinyekeji.cn" target="_blank" rel="noopener" class="visit" onClick="clickout(21)">www.sdxinyekeji.cn</a></address></li> <li><a href="/siteinfo/9581.html"><img src="https://s0.wp.com/mshots/v1/https://nationaldex.io" width="100" height="80" alt="NationalDex" loading="lazy"></a><strong><a href="/siteinfo/9581.html" title="NationalDex">NationalDex</a></strong><p>NationalDex是一款极速、现代化的Pokédex,覆盖所有世代的宝可梦、招式、特性、道具与地区。用户可按类型、世代、地区等多维度精准筛选,快速规划团队、挑战与竞技阵容。平台接口简洁、数据完整,支持高级搜索与统计分析,让训练师与玩家在构建理想队伍时获得即时、精准的支持。</p><address><a href="http://nationaldex.io" target="_blank" rel="noopener" class="visit" onClick="clickout(9581)">nationaldex.io</a></address></li> </ul> </div> </div> </div> <!--<div style="max-width: 1200px; margin: 0 auto 15px auto; padding-left: 10px;"> <span style="font-size: 13px; color: #888; font-weight: bold; border-left: 3px solid #ff6b35; padding-left: 8px;">精品专题</span> </div> <div style="max-width: 1000px; margin: 0 auto 25px auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; padding: 0 10px;"> <a href="/diypage/1.html" title="95dir网站日志" style="display: flex; align-items: center; justify-content: center; background: #fff; border: 1px solid #eee; padding: 12px; border-radius: 10px; text-decoration: none; transition: all 0.3s;" onmouseover="this.style.borderColor='#ff6b35';this.style.transform='translateY(-2px)';" onmouseout="this.style.borderColor='#eee';this.style.transform='translateY(0)栽培';"> <span style="font-size: 18px; margin-right: 8px;">📄</span> <span style="color: #333; font-weight: bold; font-size: 14px;">95dir网站日志</span> </a> <a href="/diypage/3.html" title="网站收录说明" style="display: flex; align-items: center; justify-content: center; background: #fff; border: 1px solid #eee; padding: 12px; border-radius: 10px; text-decoration: none; transition: all 0.3s;" onmouseover="this.style.borderColor='#ff6b35';this.style.transform='translateY(-2px)';" onmouseout="this.style.borderColor='#eee';this.style.transform='translateY(0)栽培';"> <span style="font-size: 18px; margin-right: 8px;">📄</span> <span style="color: #333; font-weight: bold; font-size: 14px;">网站收录说明</span> </a> <a href="/diypage/4.html" title="全球主流搜索引擎收录入口大全" style="display: flex; align-items: center; justify-content: center; background: #fff; border: 1px solid #eee; padding: 12px; border-radius: 10px; text-decoration: none; transition: all 0.3s;" onmouseover="this.style.borderColor='#ff6b35';this.style.transform='translateY(-2px)';" onmouseout="this.style.borderColor='#eee';this.style.transform='translateY(0)栽培';"> <span style="font-size: 18px; margin-right: 8px;">📄</span> <span style="color: #333; font-weight: bold; font-size: 14px;">全球主流搜索引擎收录入口大全</span> </a> <a href="/diypage/5.html" title="95分类目录简介与平台收录运行机制公告" style="display: flex; align-items: center; justify-content: center; background: #fff; border: 1px solid #eee; padding: 12px; border-radius: 10px; text-decoration: none; transition: all 0.3s;" onmouseover="this.style.borderColor='#ff6b35';this.style.transform='translateY(-2px)';" onmouseout="this.style.borderColor='#eee';this.style.transform='translateY(0)栽培';"> <span style="font-size: 18px; margin-right: 8px;">📄</span> <span style="color: #333; font-weight: bold; font-size: 14px;">95分类目录简介与平台收录运行机制公告</span> </a> <a href="/diypage/6.html" title="2026 年度 AI 生产力工具巅峰汇总" style="display: flex; align-items: center; justify-content: center; background: #fff; border: 1px solid #eee; padding: 12px; border-radius: 10px; text-decoration: none; transition: all 0.3s;" onmouseover="this.style.borderColor='#ff6b35';this.style.transform='translateY(-2px)';" onmouseout="this.style.borderColor='#eee';this.style.transform='translateY(0)栽培';"> <span style="font-size: 18px; margin-right: 8px;">🚀</span> <span style="color: #333; font-weight: bold; font-size: 14px;">2026 年度 AI 生产力工具巅峰汇总</span> </a> <a href="/diypage/7.html" title="站长必备:2026 极致效率工具箱" style="display: flex; align-items: center; justify-content: center; background: #fff; border: 1px solid #eee; padding: 12px; border-radius: 10px; text-decoration: none; transition: all 0.3s;" onmouseover="this.style.borderColor='#ff6b35';this.style.transform='translateY(-2px)';" onmouseout="this.style.borderColor='#eee';this.style.transform='translateY(0)栽培';"> <span style="font-size: 18px; margin-right: 8px;">📄</span> <span style="color: #333; font-weight: bold; font-size: 14px;">站长必备:2026 极致效率工具箱</span> </a> <a href="/diypage/8.html" title="2026 必看博客:深度思考与技术先锋" style="display: flex; align-items: center; justify-content: center; background: #fff; border: 1px solid #eee; padding: 12px; border-radius: 10px; text-decoration: none; transition: all 0.3s;" onmouseover="this.style.borderColor='#ff6b35';this.style.transform='translateY(-2px)';" onmouseout="this.style.borderColor='#eee';this.style.transform='translateY(0)栽培';"> <span style="font-size: 18px; margin-right: 8px;">📄</span> <span style="color: #333; font-weight: bold; font-size: 14px;">2026 必看博客:深度思考与技术先锋</span> </a> <a href="/diypage/9.html" title="出海淘金:2026 全球化与跨境生存工具" style="display: flex; align-items: center; justify-content: center; background: #fff; border: 1px solid #eee; padding: 12px; border-radius: 10px; text-decoration: none; transition: all 0.3s;" onmouseover="this.style.borderColor='#ff6b35';this.style.transform='translateY(-2px)';" onmouseout="this.style.borderColor='#eee';this.style.transform='translateY(0)栽培';"> <span style="font-size: 18px; margin-right: 8px;">📄</span> <span style="color: #333; font-weight: bold; font-size: 14px;">出海淘金:2026 全球化与跨境生存工具</span> </a> <a href="/diypage/10.html" title="2026 站长必备:全自动 AI 内容创作与 SEO 伪原创工具导航" style="display: flex; align-items: center; justify-content: center; background: #fff; border: 1px solid #eee; padding: 12px; border-radius: 10px; text-decoration: none; transition: all 0.3s;" onmouseover="this.style.borderColor='#ff6b35';this.style.transform='translateY(-2px)';" onmouseout="this.style.borderColor='#eee';this.style.transform='translateY(0)栽培';"> <span style="font-size: 18px; margin-right: 8px;">🚀</span> <span style="color: #333; font-weight: bold; font-size: 14px;">2026 站长必备:全自动 AI 内容创作与 SEO 伪原创工具导航</span> </a> <a href="/diypage/11.html" title="网站收录翻倍实战方案:百度快照快速抓取与 Sitemap 优化指南" style="display: flex; align-items: center; justify-content: center; background: #fff; border: 1px solid #eee; padding: 12px; border-radius: 10px; text-decoration: none; transition: all 0.3s;" onmouseover="this.style.borderColor='#ff6b35';this.style.transform='translateY(-2px)';" onmouseout="this.style.borderColor='#eee';this.style.transform='translateY(0)栽培';"> <span style="font-size: 18px; margin-right: 8px;">📄</span> <span style="color: #333; font-weight: bold; font-size: 14px;">网站收录翻倍实战方案:百度快照快速抓取与 Sitemap 优化指南</span> </a> <a href="/diypage/12.html" title="职场资源不求人:设计师、程序员与自媒体必备库" style="display: flex; align-items: center; justify-content: center; background: #fff; border: 1px solid #eee; padding: 12px; border-radius: 10px; text-decoration: none; transition: all 0.3s;" onmouseover="this.style.borderColor='#ff6b35';this.style.transform='translateY(-2px)';" onmouseout="this.style.borderColor='#eee';this.style.transform='translateY(0)栽培';"> <span style="font-size: 18px; margin-right: 8px;">📄</span> <span style="color: #333; font-weight: bold; font-size: 14px;">职场资源不求人:设计师、程序员与自媒体必备库</span> </a> <a href="/diypage/13.html" title="2026 网站变现全攻略:权重提升与商业化之路" style="display: flex; align-items: center; justify-content: center; background: #fff; border: 1px solid #eee; padding: 12px; border-radius: 10px; text-decoration: none; transition: all 0.3s;" onmouseover="this.style.borderColor='#ff6b35';this.style.transform='translateY(-2px)';" onmouseout="this.style.borderColor='#eee';this.style.transform='translateY(0)栽培';"> <span style="font-size: 18px; margin-right: 8px;">📄</span> <span style="color: #333; font-weight: bold; font-size: 14px;">2026 网站变现全攻略:权重提升与商业化之路</span> </a> <a href="/diypage/14.html" title="2026 极致效率工具与多媒体资源聚合" style="display: flex; align-items: center; justify-content: center; background: #fff; border: 1px solid #eee; padding: 12px; border-radius: 10px; text-decoration: none; transition: all 0.3s;" onmouseover="this.style.borderColor='#ff6b35';this.style.transform='translateY(-2px)';" onmouseout="this.style.borderColor='#eee';this.style.transform='translateY(0)栽培';"> <span style="font-size: 18px; margin-right: 8px;">📄</span> <span style="color: #333; font-weight: bold; font-size: 14px;">2026 极致效率工具与多媒体资源聚合</span> </a> </div>--> <div id="fmenu" style="text-align: center; margin-bottom: 25px; background: #fafafa; padding: 15px; border-radius: 12px; max-width: 1000px; margin-left: auto; margin-right: auto;"> <a href="/update/" style="color: #666; text-decoration: none; margin: 0 12px; font-size: 14px; display: inline-flex; align-items: center;"> <span style="margin-right: 4px;">🆕</span>最新收录</a> <a href="/archives/" style="color: #666; text-decoration: none; margin: 0 12px; font-size: 14px; display: inline-flex; align-items: center;"> <span style="margin-right: 4px;">📚</span>数据归档</a> <a href="/top/" style="color: #666; text-decoration: none; margin: 0 12px; font-size: 14px; display: inline-flex; align-items: center;"> <span style="margin-right: 4px;">🔥</span>TOP排行</a> <a href="/blacklist/" style="color: #666; text-decoration: none; margin: 0 12px; font-size: 14px; display: inline-flex; align-items: center;"> <span style="margin-right: 4px;">🚫</span>黑名单</a> <a href="/rejected/" style="color: #666; text-decoration: none; margin: 0 12px; font-size: 14px; display: inline-flex; align-items: center;"> <span style="margin-right: 4px;">❌</span>不通过</a> <a href="/datastats/" style="color: #666; text-decoration: none; margin: 0 12px; font-size: 14px; display: inline-flex; align-items: center;"> <span style="margin-right: 4px;">📊</span>数据公示</a> <a href="/sitemap/all.xml" style="color: #666; text-decoration: none; margin: 0 12px; font-size: 14px; display: inline-flex; align-items: center;"> <span style="margin-right: 4px;">🗺️</span>站点地图</a> </div> <div style="max-width: 1000px; margin: 0 auto 20px auto; padding: 15px 0; border-top: 1px solid #f5f5f5; border-bottom: 1px solid #f5f5f5; font-size: 14px; line-height: 1.8; color: #777;"> <p style="margin: 0 0 8px 0; text-align: center;"> <strong style="color: #333;">95分类目录</strong> - 专业的网站分类目录平台,精心收录 <a href="/webdir/" style="color: #ff6b35; text-decoration: none;">网站目录</a>、 <a href="/vip_list/" style="color: #ff6b35; text-decoration: none;">VIP优质网站</a> 及 <a href="/article/" style="color: #ff6b35; text-decoration: none;">站长资讯</a>。 </p > <p style="margin: 0; text-align: center; font-size: 12px; color: #aaa; letter-spacing: 1px;"> 关键词:网站目录 · 网站收录 · 分类目录 · 网站推荐 · 优质网站 · 免费收录 </p > </div> <a href="https://frogdr.com/95dir.com?utm_source=95dir.com" target="_blank" style="display: block; text-align: center; margin: 0 auto 15px auto;"> <img src="https://frogdr.com/95dir.com/badge-white.svg" alt="Monitor your Domain Rating with FrogDR" width="250" height="54" style="display: inline-block; margin: 0 auto; vertical-align: middle;"> </a> <div style="text-align: center; color: #999; font-size: 13px;"> <div id="fcopy" style="margin-bottom: 8px;"> Copyright © 2026 95dir.com All Rights Reserved <span style="margin: 0 8px;">·</span> <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank" style="color: #999; text-decoration: none;">鄂ICP备2024062716号-1</a> <span style="margin: 0 8px;">·</span> Processed in 0.046000 second(s), 27 Queries, Gzip Enabled </div> <div id="statsContainer" style="margin-bottom: 10px;"> 当前在线 <span id="onlineCount" style="color: #28a745; font-weight: bold;">...</span> 人 <span style="color: #eee;">|</span> 总访客 <span id="totalVisitors" style="color: #333; font-weight: bold;">...</span> 人 <span style="color: #eee;">|</span> <a href="http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=P8giPA6Ghq-xjdOZIMxq1RGrwUWJJ9q3&authKey=pAp40hn9v1YZaUnc30pmG0JzruRQbgWfKzcE17Zebqu%2BgvSp7fY6P1D3RmbT93%2Bh&noverify=0&group_code=1059212869" target="_blank" style="color: #007bff; text-decoration: none;">🐧交流群</a> </div> <div style="opacity: 0.7;"> <a href="https://tongji.baidu.com/" target="_blank" style="color: #bbb; text-decoration: none; font-size: 12px; display: inline-flex; align-items: center; gap: 4px;"> <svg width="12" height="12" viewBox="0 0 24 24" fill="#bbb"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 14.5v-9l6 4.5-6 4.5z"/></svg> 百度统计 </a > </div> </div> </div> <!--<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-7900219627358725" crossorigin="anonymous"></script>--> <script> // 更新在线统计 function updateOnlineStats() { // 添加时间戳防止缓存 const timestamp = new Date().getTime(); const url = '/data/online_stats/online.php?t=' + timestamp; fetch(url, { method: 'GET', headers: { 'Cache-Control': 'no-cache', 'Pragma': 'no-cache' } }) .then(response => { if (!response.ok) { throw new Error('HTTP ' + response.status); } return response.json(); }) .then(data => { // 确保数据有效 const online = parseInt(data.online) || 0; const total = parseInt(data.total) || 0; document.getElementById('onlineCount').textContent = online; document.getElementById('totalVisitors').textContent = total.toLocaleString(); // 调试信息(可选) console.log('在线统计更新:', { online: online, total: total }); }) .catch(error => { console.error('在线统计服务错误:', error); document.getElementById('onlineCount').textContent = '加载中...'; document.getElementById('totalVisitors').textContent = '加载中...'; }); } // 页面加载时立即执行 document.addEventListener('DOMContentLoaded', function() { updateOnlineStats(); }); // 设置定时器 - 在线统计每60秒更新 setInterval(updateOnlineStats, 60000); // 页面获得焦点时也更新一次 window.addEventListener('focus', updateOnlineStats); </script> <script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?de6784c7f19b11f9d9d70711252011fe"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> <div style="display:none; width:0px; height:0px;" aria-hidden="true"> <a href="/sys_archive/private_data.php" rel="nofollow">系统存档测试</a> </div> <!-- 回到顶部按钮 --> <div id="backToTop" class="back-to-top" onclick="scrollToTop()"> <svg viewBox="0 0 24 24" width="24" height="24"> <path fill="currentColor" d="M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z"></path> </svg> </div> <style> .back-to-top { position: fixed; right: 20px; bottom: 30px; /* 避开手机浏览器底部工具栏 */ width: 45px; height: 45px; background-color: #1890ff; /* 对应图中的蓝色 */ color: #fff; border-radius: 50%; display: flex; justify-content: center; align-items: center; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); cursor: pointer; z-index: 999; opacity: 0; /* 默认隐藏 */ visibility: hidden; transition: all 0.3s ease; transform: translateY(20px); /* 初始位置稍低,配合淡入 */ } /* 显示状态 */ .back-to-top.show { opacity: 1; visibility: visible; transform: translateY(0); } .back-to-top svg { width: 28px; height: 28px; } /* 适配手机端点击效果 */ .back-to-top:active { transform: scale(0.9); background-color: #096dd9; } </style> <script> window.onscroll = function() { var topBtn = document.getElementById("backToTop"); // 当滚动高度超过 300 像素时显示按钮 if (document.documentElement.scrollTop > 300 || document.body.scrollTop > 300) { topBtn.classList.add("show"); } else { topBtn.classList.remove("show"); } }; // 平滑滚动回顶部 function scrollToTop() { window.scrollTo({ top: 0, behavior: 'smooth' // 平滑滚动 }); } </script></div> <!-- 文章评论功能脚本 --> <script> document.addEventListener('DOMContentLoaded', function() { console.log('DOM加载完成,开始初始化文章评论功能...'); // 全局错误处理 window.addEventListener('error', function(event) { console.error('JavaScript错误:', event.error); console.error('错误位置:', event.filename, ':', event.lineno); if (event.filename && event.filename.includes('artinfo')) { const commentsListElement = document.getElementById('comments-list'); if (commentsListElement && !commentsListElement.innerHTML.includes('评论功能暂时不可用')) { commentsListElement.innerHTML = '<div style="text-align: center; color: #dc3545; padding: 20px;">' + '评论功能暂时不可用,请刷新页面重试' + '</div>'; } } return false; }); // 延迟初始化,确保DOM完全准备好 setTimeout(function() { try { // 检查管理员权限 checkAdminPermission(); // 初始化字符计数 initCharCount(); // 加载评论 loadComments(); // 绑定表单提交 bindCommentForm(); } catch (error) { console.error('初始化文章评论功能时发生错误:', error); const commentsListElement = document.getElementById('comments-list'); if (commentsListElement) { commentsListElement.innerHTML = '<div style="text-align: center; color: #dc3545; padding: 20px;">' + '评论功能初始化失败,请刷新页面重试' + '</div>'; } } }, 200); }); // 初始化字符计数 function initCharCount() { const textarea = document.querySelector('textarea[name="comment_content"]'); const charCount = document.getElementById('char-count'); if (!textarea || !charCount) { console.log('字符计数初始化失败: 找不到必要的DOM元素'); return; } textarea.addEventListener('input', () => { const length = textarea.value.length; charCount.textContent = length; if (length > 1000) { charCount.style.color = '#dc3545'; } else if (length > 800) { charCount.style.color = '#ffc107'; } else { charCount.style.color = '#999'; } }); } // 加载评论 function loadComments() { try { const artIdInput = document.querySelector('input[name="art_id"]'); if (!artIdInput) { console.error('找不到art_id输入框'); document.getElementById('comments-list').innerHTML = '<div style="text-align: center; color: #dc3545; padding: 20px;">页面初始化错误</div>'; return; } const artId = artIdInput.value; if (!artId) { console.error('art_id为空'); document.getElementById('comments-list').innerHTML = '<div style="text-align: center; color: #999; padding: 20px;">暂无评论</div>'; return; } fetch('/module/article_comment_handler.php', { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded', }, body: `action=get_comments&art_id=${artId}&limit=20` }) .then(response => { if (!response.ok) { throw new Error(`HTTP错误: ${response.status}`); } return response.text(); }) .then(text => { try { const data = JSON.parse(text); if (data.success) { displayComments(data.comments || []); displayStats(data.stats || {}); } else { console.warn('获取评论失败:', data.message); document.getElementById('comments-list').innerHTML = '<div style="text-align: center; color: #999; padding: 20px;">暂无评论</div>'; } } catch (parseError) { console.error('JSON解析错误:', parseError); console.error('服务器响应:', text); document.getElementById('comments-list').innerHTML = '<div style="text-align: center; color: #dc3545; padding: 20px;">数据格式错误</div>'; } }) .catch(error => { console.error('加载评论失败:', error); document.getElementById('comments-list').innerHTML = '<div style="text-align: center; color: #dc3545; padding: 20px;">加载评论失败,请刷新页面重试</div>'; }); } catch (error) { console.error('loadComments函数执行错误:', error); document.getElementById('comments-list').innerHTML = '<div style="text-align: center; color: #dc3545; padding: 20px;">系统错误,请刷新页面</div>'; } } // 显示评论统计 function displayStats(stats) { if (!stats || typeof stats !== 'object') { document.getElementById('comment-stats').innerHTML = ` <div style="text-align: center; color: #666;"> <p>统计数据加载失败</p> </div> `; return; } const totalComments = parseInt(stats.total_comments) || 0; if (totalComments === 0) { document.getElementById('comment-stats').innerHTML = ` <div style="text-align: center; color: #666;"> <p>暂无评论数据</p> </div> `; return; } const statsHtml = ` <div class="stats-item"> <span class="stats-label">📊 总评论数</span> <span class="stats-value">${totalComments}</span> </div> `; document.getElementById('comment-stats').innerHTML = statsHtml; } // 显示评论列表 function displayComments(comments) { try { const commentsListElement = document.getElementById('comments-list'); if (!commentsListElement) { console.error('找不到评论列表容器'); return; } if (!Array.isArray(comments) || comments.length === 0) { commentsListElement.innerHTML = '<div style="text-align: center; color: #999; padding: 20px;">暂无评论,快来发表第一个评论吧!</div>'; return; } let html = ''; comments.forEach((comment, index) => { try { if (comment && typeof comment === 'object') { html += generateCommentHtml(comment); } else { console.warn(`评论数据格式错误,索引: ${index}`, comment); } } catch (error) { console.error(`生成评论HTML失败,索引: ${index}`, error, comment); } }); if (html) { commentsListElement.innerHTML = html; bindReplyButtons(); } else { commentsListElement.innerHTML = '<div style="text-align: center; color: #dc3545; padding: 20px;">评论数据处理失败</div>'; } } catch (error) { console.error('displayComments函数执行错误:', error); const commentsListElement = document.getElementById('comments-list'); if (commentsListElement) { commentsListElement.innerHTML = '<div style="text-align: center; color: #dc3545; padding: 20px;">显示评论时发生错误</div>'; } } } // 生成评论HTML function generateCommentHtml(comment) { try { if (!comment || typeof comment !== 'object') { console.error('无效的评论数据:', comment); return '<div class="comment-item" style="color: #dc3545; padding: 10px;">评论数据错误</div>'; } const commentId = comment.comment_id || 0; const userClass = comment.is_member ? 'member' : ''; const userDisplay = comment.is_member ? (comment.display_name || '会员用户') : `匿名 ( ${comment.display_ip || '未知IP'} )`; const displayTime = comment.display_time || '未知时间'; const commentContent = comment.comment_content || ''; let html = ` <div class="comment-item"> <div class="comment-header"> <span class="comment-user ${userClass}">${userDisplay}</span> <span class="comment-time">${displayTime}</span> </div> <div class="comment-content">${processMediaContent(commentContent)}</div> <div class="comment-actions"> <button class="reply-btn" onclick="showReplyForm(${commentId})">回复</button> ${window.isAdmin ? `<button class="delete-btn" onclick="deleteComment(${commentId})" style="background:#dc3545;color:white;padding:5px 10px;border:none;border-radius:4px;cursor:pointer;margin-left:10px;">删除</button>` : ''} </div> <div class="reply-form" id="reply-form-${commentId}" style="display:none;"> <textarea placeholder="请输入回复内容..." style="width:100%;height:60px;padding:8px;border:1px solid #ddd;border-radius:4px;resize:vertical;"></textarea> <div style="margin-top:10px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;clear:both;"> <input type="text" name="code" placeholder="验证码" maxlength="6" style="width:90px;height:32px;border:1px solid #ccc;border-radius:4px;text-align:center;font-size:13px;"> <img src="/source/include/captcha.php?ts=${Date.now()}" alt="点击刷新验证码" title="点击刷新验证码" style="height:32px;border-radius:4px;cursor:pointer;" onclick="this.src='/source/include/captcha.php?ts=' + Date.now();"> </div> <div style="text-align:right;margin-top:10px;clear:both;"> <button onclick="hideReplyForm(${commentId})" style="background:#6c757d;color:white;padding:5px 15px;border:none;border-radius:4px;cursor:pointer;margin-right:10px;">取消</button> <button onclick="submitReply(${commentId})" style="background:#007bff;color:white;padding:5px 15px;border:none;border-radius:4px;cursor:pointer;">提交回复</button> </div> </div> `; if (comment.replies && Array.isArray(comment.replies) && comment.replies.length > 0) { html += ` <div class="replies-section"> <div class="replies-header"> <span class="replies-count">${comment.replies.length} 条回复</span> </div> <div class="replies-list"> `; comment.replies.forEach((reply, index) => { try { if (!reply || typeof reply !== 'object') { console.warn(`回复数据格式错误,索引: ${index}`, reply); return; } html += generateReplyHtml(reply); } catch (replyError) { console.error(`处理回复时出错,索引: ${index}`, replyError, reply); } }); html += ` </div> </div> `; } html += '</div>'; return html; } catch (error) { console.error('generateCommentHtml函数执行错误:', error, comment); return '<div class="comment-item" style="color: #dc3545; padding: 10px;">生成评论HTML时发生错误</div>'; } } // 生成回复HTML function generateReplyHtml(reply) { try { if (!reply || typeof reply !== 'object') { console.warn('回复数据格式错误', reply); return ''; } const replyId = reply.comment_id || reply.id || 0; const replyUserClass = reply.is_member ? 'member' : ''; const replyUserDisplay = reply.is_member ? (reply.display_name || '会员用户') : `匿名 ( ${reply.display_ip || '未知IP'} )`; const replyDisplayTime = reply.display_time || '未知时间'; const replyContent = reply.comment_content || ''; let html = ` <div class="reply-item"> <div class="reply-avatar"> <i class="fas fa-reply" style="color: #667eea;"></i> </div> <div class="reply-content"> <div class="reply-header"> <span class="comment-user ${replyUserClass}">${replyUserDisplay}</span> <span class="reply-time">${replyDisplayTime}</span> ${window.isAdmin ? `<button onclick="deleteReply(${replyId})" class="reply-delete-btn" title="删除回复">×</button>` : ''} </div> <div class="reply-text">${replyContent}</div> <div class="reply-actions"> <button class="reply-btn" onclick="showReplyForm(${replyId})" style="font-size:12px;padding:3px 8px;">回复</button> </div> <div class="reply-form" id="reply-form-${replyId}" style="display:none;"> <textarea placeholder="请输入回复内容..." style="width:100%;height:50px;padding:6px;border:1px solid #ddd;border-radius:4px;resize:vertical;font-size:13px;"></textarea> <div style="margin-top:8px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;"> <input type="text" name="code" placeholder="验证码" maxlength="6" style="width:80px;height:28px;border:1px solid #ccc;border-radius:4px;text-align:center;font-size:12px;"> <img src="/source/include/captcha.php?ts=${Date.now()}" alt="点击刷新验证码" title="点击刷新验证码" style="height:28px;border-radius:4px;cursor:pointer;" onclick="this.src='/source/include/captcha.php?ts=' + Date.now();"> </div> <div style="text-align:right;margin-top:8px;"> <button onclick="hideReplyForm(${replyId})" style="background:#6c757d;color:white;padding:4px 12px;border:none;border-radius:4px;cursor:pointer;margin-right:8px;font-size:12px;">取消</button> <button onclick="submitReply(${replyId})" style="background:#007bff;color:white;padding:4px 12px;border:none;border-radius:4px;cursor:pointer;font-size:12px;">提交回复</button> </div> </div> `; if (reply.replies && Array.isArray(reply.replies) && reply.replies.length > 0) { html += ` <div class="sub-replies" style="margin-left: 20px; margin-top: 10px; border-left: 2px solid #e9ecef; padding-left: 15px;"> `; reply.replies.forEach((subReply, index) => { try { if (!subReply || typeof subReply !== 'object') { console.warn(`子回复数据格式错误,索引: ${index}`, subReply); return; } html += generateReplyHtml(subReply); } catch (subReplyError) { console.error(`处理子回复时出错,索引: ${index}`, subReplyError, subReply); } }); html += ` </div> `; } html += ` </div> </div> `; return html; } catch (error) { console.error('generateReplyHtml函数执行错误:', error, reply); return '<div class="reply-item" style="color: #dc3545; padding: 10px;">生成回复HTML时发生错误</div>'; } } // 绑定评论表单提交 function bindCommentForm() { const form = document.getElementById('comment-form'); form.addEventListener('submit', function(e) { e.preventDefault(); const formData = new FormData(form); formData.append('action', 'submit_comment'); const content = formData.get('comment_content').trim(); if (content.length < 10) { alert('评论内容至少需要10个字符'); return; } if (content.length > 1000) { alert('评论内容不能超过1000个字符'); return; } const submitBtn = form.querySelector('button[type="submit"]'); submitBtn.disabled = true; submitBtn.textContent = '提交中...'; fetch('/module/article_comment_handler.php', { method: 'POST', body: formData }) .then(response => response.json()) .then(data => { if (data.success) { if (window.isAdmin) { alert('评论提交成功!'); } else { const successMessage = data.message || '评论提交成功!'; if (successMessage === '评论提交成功,等待管理员审核。') { alert(successMessage); } else { alert('评论提交成功!'); } } form.reset(); loadComments(); } else { alert(data.message || '评论提交失败'); } }) .catch(error => { console.error('提交评论失败:', error); alert('评论提交失败,请重试'); }) .finally(() => { submitBtn.disabled = false; submitBtn.textContent = '发表评论'; }); }); } // 显示回复表单 function showReplyForm(commentId) { const replyForm = document.getElementById(`reply-form-${commentId}`); replyForm.style.display = 'block'; } // 隐藏回复表单 function hideReplyForm(commentId) { const replyForm = document.getElementById(`reply-form-${commentId}`); replyForm.style.display = 'none'; } // 提交回复 function submitReply(commentId) { const replyForm = document.getElementById(`reply-form-${commentId}`); const codeInput = replyForm.querySelector('input[name="code"]'); const checkCode = codeInput ? codeInput.value.trim() : ''; if (checkCode.length < 4) { alert('请输入验证码'); return; } const textarea = replyForm.querySelector('textarea'); const content = textarea.value.trim(); if (content.length < 5) { alert('回复内容至少需要5个字符'); return; } if (content.length > 1000) { alert('回复内容不能超过1000个字符'); return; } const artId = document.querySelector('input[name="art_id"]').value; const formData = new FormData(); formData.append('action', 'submit_reply'); formData.append('art_id', artId); formData.append('parent_id', commentId); formData.append('comment_content', content); formData.append('code', checkCode); fetch('/module/article_comment_handler.php', { method: 'POST', body: formData }) .then(response => response.json()) .then(data => { if (data.success) { alert('回复提交成功!'); hideReplyForm(commentId); textarea.value = ''; loadComments(); } else { alert(data.message || '回复提交失败'); } }) .catch(error => { console.error('提交回复失败:', error); alert('回复提交失败,请重试'); }); } // 绑定回复按钮事件 function bindReplyButtons() { // 实际的绑定通过onclick属性完成 } // 检查管理员权限 function checkAdminPermission() { fetch('/module/article_comment_handler.php', { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded', }, body: 'action=check_admin' }) .then(response => response.json()) .then(data => { if (data.success) { window.isAdmin = data.is_admin; console.log('管理员权限检查完成:', window.isAdmin ? '是管理员' : '非管理员'); } }) .catch(error => { console.error('检查管理员权限失败:', error); window.isAdmin = false; }); } // 删除评论 function deleteComment(commentId) { if (!window.isAdmin) { alert('您没有删除权限'); return; } if (!confirm('确定要删除这条评论吗?删除后无法恢复。')) { return; } fetch('/module/article_comment_handler.php', { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded', }, body: `action=delete_comment&comment_id=${commentId}` }) .then(response => response.json()) .then(data => { if (data.success) { alert('评论删除成功'); loadComments(); } else { alert(data.message || '删除失败'); } }) .catch(error => { console.error('删除评论失败:', error); alert('删除失败,请重试'); }); } // 删除回复 function deleteReply(replyId) { if (!window.isAdmin) { alert('您没有删除权限'); return; } if (!confirm('确定要删除这条回复吗?删除后无法恢复。')) { return; } fetch('/module/article_comment_handler.php', { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded', }, body: `action=delete_reply&reply_id=${replyId}` }) .then(response => response.json()) .then(data => { if (data.success) { alert('回复删除成功'); loadComments(); } else { alert(data.message || '删除失败'); } }) .catch(error => { console.error('删除回复失败:', error); alert('删除失败,请重试'); }); } // 验证码刷新 let captchaRefreshTimer = null; function refreshCaptcha() { if (captchaRefreshTimer) { clearTimeout(captchaRefreshTimer); } captchaRefreshTimer = setTimeout(() => { const codeContainer = document.getElementById('mycode'); if (!codeContainer) return; codeContainer.innerHTML = '<img src="/source/include/captcha.php?ts=' + Date.now() + '" ' + 'alt="点击刷新验证码" title="点击刷新验证码" ' + 'style="height:36px; border-radius:4px; box-shadow:0 0 3px rgba(0,0,0,0.1); cursor:pointer; vertical-align:middle;" ' + 'onclick="refreshCaptcha()">'; }, 300); } // === 表情系统 === // 在DOM加载完成后立即定义表情函数 function toggleEmojiPicker(textareaId) { console.log('切换表情选择器:', textareaId); const picker = document.getElementById(`emoji-picker-${textareaId}`); if (!picker) { console.error('找不到表情选择器:', `emoji-picker-${textareaId}`); return; } // 隐藏其他表情选择器 document.querySelectorAll('.emoji-picker').forEach(p => { if (p !== picker) p.style.display = 'none'; }); if (picker.style.display === 'none' || picker.style.display === '') { picker.style.display = 'block'; console.log('显示表情选择器'); } else { picker.style.display = 'none'; console.log('隐藏表情选择器'); } } function insertEmoji(textareaId, emoji) { console.log('插入表情:', textareaId, emoji); const textarea = document.getElementById(textareaId); if (!textarea) { console.error('找不到文本框:', textareaId); return; } const start = textarea.selectionStart || 0; const end = textarea.selectionEnd || 0; const text = textarea.value; textarea.value = text.substring(0, start) + emoji + text.substring(end); textarea.selectionStart = textarea.selectionEnd = start + emoji.length; textarea.focus(); // 隐藏表情选择器 const picker = document.getElementById(`emoji-picker-${textareaId}`); if (picker) { picker.style.display = 'none'; } // 触发input事件更新字符计数 const inputEvent = new Event('input', { bubbles: true }); textarea.dispatchEvent(inputEvent); console.log('表情插入完成'); } // 确保函数在全局作用域立即可用 window.toggleEmojiPicker = toggleEmojiPicker; window.insertEmoji = insertEmoji; // 验证码和表情系统初始化 document.addEventListener('DOMContentLoaded', function() { // 验证码初始化 const codeInput = document.getElementById('comment-code-input'); if (codeInput) { refreshCaptcha(); codeInput.addEventListener('focus', refreshCaptcha); } // 绑定表情按钮点击事件 const emojiBtn = document.getElementById('emoji-btn-main'); if (emojiBtn) { emojiBtn.addEventListener('click', function(e) { e.preventDefault(); e.stopPropagation(); toggleEmojiPicker('main-comment-textarea'); }); } // 点击页面其他地方时隐藏表情选择器 document.addEventListener('click', function(event) { const emojiPickers = document.querySelectorAll('.emoji-picker'); emojiPickers.forEach(picker => { const isClickInsidePicker = picker.contains(event.target); const isClickOnEmojiButton = event.target.id === 'emoji-btn-main' || event.target.textContent === '😊'; if (!isClickInsidePicker && !isClickOnEmojiButton) { picker.style.display = 'none'; } }); }); console.log('表情系统初始化完成'); }); function safeHTML(str) { return str.replace(/</g, "<").replace(/>/g, ">"); } function processMediaContent(content) { if (!content || typeof content !== 'string') return content || ''; let text = safeHTML(content); // 音频文件 text = text.replace( /(https?:\/\/[^\s<>"']+\.(mp3|wav|aac|m4a|ogg|flac))/gi, (match) => ` <div class="media-container audio-container"> <div class="media-header">🎵 音频</div> <audio controls autoplay preload="metadata" style="width:100%;max-width:400px;"> <source src="${match}" type="audio/mpeg"> 您的浏览器不支持音频播放。 </audio> <div class="media-link"><a href="${match}" target="_blank" rel="noopener">📥 下载音频</a></div> </div>` ); // 图片 text = text.replace( /(https?:\/\/[^\s<>"']+\.(jpg|jpeg|png|gif|webp|svg))/gi, (match) => ` <div class="media-container image-container"> <div class="media-header">🖼️ 图片</div> <img src="${match}" alt="图片" loading="lazy" style="max-width:100%;border-radius:8px;cursor:pointer;" onclick="window.open('${match}','_blank')"> <div class="media-link"><a href="${match}" target="_blank" rel="noopener">查看原图</a></div> </div>` ); // 视频文件直链 text = text.replace( /(https?:\/\/[^\s<>"']+\.(mp4|webm|mkv|mov|avi|flv|m4v))/gi, (match) => ` <div class="media-container video-container"> <div class="media-header">🎬 视频文件</div> <video controls preload="metadata" style="width:100%;max-width:500px;border-radius:8px;"> <source src="${match}" type="video/mp4"> 您的浏览器不支持视频播放。 </video> <div class="media-link"><a href="${match}" target="_blank" rel="noopener">新窗口播放</a></div> </div>` ); return text; } </script> <!-- 评论系统样式 --> <style> .comment-system { max-width: 800px; margin: 0 auto; padding: 20px; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; line-height: 1.6; color: #333; } #comment-stats { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); border-radius: 12px; padding: 25px; margin-bottom: 30px; color: white; box-shadow: 0 8px 32px rgba(102, 126, 234, 0.3); } .stats-item { display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px; padding: 10px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.2); color: black; } .stats-item:last-child { border-bottom: none; margin-bottom: 0; } .stats-label { font-weight: 600; font-size: 16px; } .stats-value { font-size: 18px; font-weight: bold; margin-right: 10px; } #comment-form { background: #fff; border-radius: 12px; padding: 25px; margin-bottom: 30px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1); border: 1px solid #e9ecef; } .form-group { margin-bottom: 20px; } .form-group label { display: block; margin-bottom: 8px; font-weight: 600; color: #495057; font-size: 14px; } .form-group input, .form-group textarea { width: 100%; padding: 12px 16px; border: 2px solid #e9ecef; border-radius: 8px; font-size: 14px; transition: all 0.3s ease; box-sizing: border-box; } .form-group input:focus, .form-group textarea:focus { outline: none; border-color: #667eea; box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1); } .form-group textarea { resize: vertical; min-height: 100px; } .char-count { text-align: right; font-size: 12px; color: #6c757d; margin-top: 5px; } .char-count.warning { color: #fd7e14; } .char-count.danger { color: #dc3545; } #comments-list { margin-top: 30px; } .comment-item { background: #fff; border-radius: 12px; padding: 20px; margin-bottom: 20px; box-shadow: 0 2px 15px rgba(0, 0, 0, 0.08); border: 1px solid #f1f3f4; transition: all 0.3s ease; } .comment-item:hover { box-shadow: 0 4px 25px rgba(0, 0, 0, 0.12); transform: translateY(-2px); } .comment-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px; padding-bottom: 10px; border-bottom: 1px solid #f1f3f4; } .comment-user { font-weight: 600; color: #495057; } .comment-user.member { color: #667eea; position: relative; } .comment-user.member::after { content: "VIP"; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; font-size: 10px; padding: 2px 6px; border-radius: 10px; margin-left: 8px; font-weight: bold; } .comment-time { color: #6c757d; font-size: 13px; } .comment-content { line-height: 1.7; color: #333; margin-bottom: 15px; word-wrap: break-word; white-space: pre-wrap; } .comment-actions { display: flex; gap: 10px; align-items: center; } .reply-btn { background: #28a745; color: white; border: none; padding: 6px 16px; border-radius: 6px; font-size: 13px; cursor: pointer; transition: all 0.3s ease; } .reply-btn:hover { background: #218838; transform: translateY(-1px); } .delete-btn { background: #dc3545; color: white; border: none; padding: 6px 16px; border-radius: 6px; font-size: 13px; cursor: pointer; transition: all 0.3s ease; } .delete-btn:hover { background: #c82333; transform: translateY(-1px); } .reply-form { margin-top: 15px; padding: 15px; background: #f8f9fa; border-radius: 8px; border: 1px solid #e9ecef; } .reply-form textarea { width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 6px; resize: vertical; font-size: 14px; box-sizing: border-box; } .reply-form textarea:focus { outline: none; border-color: #667eea; box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.1); } .replies-section { margin-top: 15px; padding-top: 15px; border-top: 1px solid #e9ecef; } .replies-header { margin-bottom: 10px; } .replies-count { font-size: 13px; color: #667eea; font-weight: 600; } .replies-list { margin-left: 10px; } .reply-item { display: flex; background: #f8f9fa; border-radius: 8px; padding: 12px; margin-bottom: 10px; border-left: 3px solid #667eea; } .reply-avatar { margin-right: 10px; padding-top: 2px; } .reply-content { flex: 1; } .reply-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 5px; } .reply-time { font-size: 12px; color: #6c757d; } .reply-text { font-size: 14px; line-height: 1.5; color: #333; } .reply-delete-btn { background: #dc3545; color: white; border: none; border-radius: 50%; width: 20px; height: 20px; font-size: 12px; cursor: pointer; margin-left: 10px; } .reply-actions { margin-top: 8px; padding-top: 5px; } .reply-actions .reply-btn { background: #17a2b8; color: white; border: none; padding: 3px 8px; border-radius: 4px; font-size: 12px; cursor: pointer; transition: all 0.3s ease; } .reply-actions .reply-btn:hover { background: #138496; transform: translateY(-1px); } .emoji-picker { position: absolute; top: 100%; left: 0; right: 0; background: white; border: 1px solid #ddd; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.15); z-index: 1000; margin-top: 5px; } /* 确保表情选择器的父容器有相对定位 */ .comment-form > div[style*="position: relative"], .reply-form > div[style*="position: relative"] { position: relative !important; } .emoji-grid { display: grid; grid-template-columns: repeat(8, 1fr); gap: 5px; padding: 10px; } .emoji-grid span { font-size: 20px; cursor: pointer; padding: 8px; text-align: center; border-radius: 4px; transition: background-color 0.2s; } .emoji-grid span:hover { background-color: #f0f0f0; } .media-container { margin: 15px 0; padding: 15px; background: #f8f9fa; border-radius: 12px; border-left: 4px solid #007bff; box-shadow: 0 2px 8px rgba(0,0,0,0.1); transition: all 0.3s ease; } .media-container:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.15); transform: translateY(-2px); } .media-header { font-weight: bold; color: #495057; margin-bottom: 10px; font-size: 14px; display: flex; align-items: center; gap: 8px; } .media-link { margin-top: 10px; text-align: center; } .media-link a { color: #007bff; text-decoration: none; font-size: 13px; padding: 5px 12px; border: 1px solid #007bff; border-radius: 20px; display: inline-block; transition: all 0.3s ease; } .media-link a:hover { background: #007bff; color: white; text-decoration: none; } .audio-container { border-left-color: #28a745; } .audio-container .media-header { color: #28a745; } .video-container { border-left-color: #dc3545; } .video-container .media-header { color: #dc3545; } .image-container { border-left-color: #17a2b8; } .image-container .media-header { color: #17a2b8; } .image-container img { max-width: 100%; height: auto; border-radius: 8px; margin: 10px 0; box-shadow: 0 2px 12px rgba(0,0,0,0.1); transition: transform 0.3s ease; } .image-container img:hover { transform: scale(1.02); } .media-container audio, .media-container video { width: 100%; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1); margin: 10px 0; } .media-container video { max-width: 500px; } .media-container audio { max-width: 400px; } @media (max-width: 768px) { .comment-system { padding: 15px; } #comment-stats { padding: 20px; } #comment-form { padding: 20px; } .comment-header { flex-direction: column; align-items: flex-start; gap: 8px; } .comment-actions { flex-wrap: wrap; } .reply-item { margin-left: 10px; } .stats-item { flex-direction: column; align-items: flex-start; gap: 8px; } } @media (max-width: 480px) { .comment-system { padding: 10px; } #comment-stats, #comment-form, .comment-item { padding: 15px; } } </style> </body> </html>