AI内容检测:用SERP对比识别搜索引擎眼中的“优质内容“
最近用了不少AI写作工具但生成的内容在Google上排名一般。我怀疑是Google能识别AI内容。于是设计了一个实验用SerpBase采集高排名和低排名页面对比它们的特征差异找出搜索引擎认可的优质内容长什么样。一、AI内容的排名困境很多人发现用ChatGPT写的文章读起来不错但排不上去。可能的原因内容同质化AI生成的内容和已有内容太像缺乏E-E-A-T没有真实的经验、专业度、权威性信息密度低废话多实质内容少没有独特视角AI倾向于给出平均化的答案但问题是Google到底怎么判断内容质量官方说法是helpful content update但具体信号是什么二、实验设计2.1 样本选择我选了50个竞争度中等的关键词每个词采集两类页面高排名组排名前3的页面低排名组排名第8-10的页面样本量50词 × 6页 300个页面2.2 采集页面特征importrequestsfrombs4importBeautifulSoupfromtypingimportDict,List API_KEYYOUR_KEYBASE_URLhttps://api.serpbase.dev/google/searchdefcollect_page_features(keyword:str,api_key:str)-Dict:采集某关键词下不同排名页面的特征headers{X-API-Key:api_key,Content-Type:application/json}body{q:keyword,hl:en,gl:us,page:1}rrequests.post(BASE_URL,headersheaders,jsonbody,timeout30)datar.json()results{high_rank:[],low_rank:[]}foritemindata.get(organic,[]):rankitem[rank]urlitem.get(link,)ifrank3or(8rank10):# 抓取页面内容try:page_datafetch_page_content(url)featuresextract_content_features(page_data,rank)ifrank3:results[high_rank].append(features)else:results[low_rank].append(features)exceptExceptionase:print(fError fetching{url}:{e})returnresultsdeffetch_page_content(url:str)-str:抓取页面HTMLrrequests.get(url,timeout15,headers{User-Agent:Mozilla/5.0 (ResearchBot/1.0)})returnr.textdefextract_content_features(html:str,rank:int)-Dict:提取内容特征soupBeautifulSoup(html,html.parser)# 移除script和styleforscriptinsoup([script,style,nav,footer,header]):script.decompose()textsoup.get_text()paragraphs[p.get_text().strip()forpinsoup.find_all(p)iflen(p.get_text().strip())20]return{rank:rank,word_count:len(text.split()),paragraph_count:len(paragraphs),avg_paragraph_length:sum(len(p.split())forpinparagraphs)/len(paragraphs)ifparagraphselse0,heading_count:len(soup.find_all([h1,h2,h3])),image_count:len(soup.find_all(img)),list_count:len(soup.find_all([ul,ol])),table_count:len(soup.find_all(table)),external_links:len([aforainsoup.find_all(a,hrefTrue)ifa[href].startswith(http)]),has_author_bio:1ifsoup.find(class_re.compile(rauthor|bio,re.I))else0,has_date:1ifsoup.find([time,span],class_re.compile(rdate|published,re.I))else0,has_schema:1ifsoup.find(script,typeapplication/ldjson)else0,text_to_html_ratio:len(text)/len(html)iflen(html)0else0}2.3 特征对比分析importpandasaspdfromscipyimportstatsdefcompare_groups(high_rank:List[Dict],low_rank:List[Dict]):对比高排名和低排名页面的特征差异df_highpd.DataFrame(high_rank)df_lowpd.DataFrame(low_rank)features_to_test[word_count,paragraph_count,avg_paragraph_length,heading_count,image_count,list_count,table_count,external_links,has_author_bio,has_date,has_schema,text_to_html_ratio]results[]forfeatureinfeatures_to_test:high_valuesdf_high[feature].dropna()low_valuesdf_low[feature].dropna()# t检验t_stat,p_valuestats.ttest_ind(high_values,low_values)results.append({feature:feature,high_rank_mean:high_values.mean(),low_rank_mean:low_values.mean(),difference:high_values.mean()-low_values.mean(),p_value:p_value,significant:p_value0.05})returnpd.DataFrame(results).sort_values(p_value)三、实验结果我跑了50个关键词分析了约260个有效页面有些页面抓取失败。3.1 显著差异的特征特征高排名均值低排名均值差异显著性word_count2,3401,18098%***heading_count12.46.2100%***image_count8.53.1174%***list_count4.21.8133%**table_count1.80.4350%**has_author_bio68%22%46pp***has_date82%45%37pp***has_schema74%38%36pp**external_links15.28.481%**text_to_html_ratio0.180.1250%*3.2 不显著的特征特征结论avg_paragraph_length高排名和低排名差异不大都是80-100词/段纯文本密度差异存在但不显著四、AI内容 vs 人工内容的SERP表现我专门对比了两类内容4.1 识别方法通过页面特征间接判断内容来源AI内容信号完美但平淡的语言、没有个人经历、缺乏具体案例人工内容信号有口语化表达、包含个人故事、有独特观点defestimate_content_source(html:str)-Dict:估算内容来源简化版textBeautifulSoup(html,html.parser).get_text()signals{first_person:len(re.findall(r\b(I|we|my|our)\b,text,re.I)),personal_stories:len(re.findall(r\b(when I|in my experience|I remember)\b,text,re.I)),specific_dates:len(re.findall(r\b(January|February|March|April|May|June|July|August|September|October|November|December)\b,text)),opinion_words:len(re.findall(r\b(I think|I believe|in my opinion)\b,text,re.I)),generic_phrases:len(re.findall(r\b(it is important to|it should be noted that|as we all know)\b,text,re.I))}# 简单评分human_scoresignals[first_person]signals[personal_stories]*3signals[opinion_words]*2ai_scoresignals[generic_phrases]*2return{human_score:human_score,ai_score:ai_score,likely_source:humanifhuman_scoreai_score*2elseaiifai_scorehuman_scoreelsemixed}4.2 AI内容的排名劣势在260个样本中我分类出明显AI内容89个明显人工内容102个混合/不确定69个内容类型平均排名Top3比例人工内容4.238%AI内容6.818%混合5.525%人工内容的Top3率是AI内容的两倍。五、优化建议让AI内容更像优质内容基于实验数据给AI生成内容的优化清单5.1 结构优化defoptimize_ai_content_structure(content:str)-str:优化AI内容的结构使其更像高排名页面# 1. 确保有足够的标题每300-400字一个H2/H3wordslen(content.split())expected_headingsmax(5,words//350)# 2. 添加列表每800字至少一个列表expected_listsmax(2,words//800)# 3. 建议添加表格如果内容适合return{current_word_count:words,recommended_headings:expected_headings,recommended_lists:expected_lists,suggested_additions:[Add author bio section,Include publication date,Add comparison table,Include real case studies]}5.2 内容质量优化基于实验结果的AI写作prompt优化你是一个有10年经验的行业专家。请写一篇关于[主题]的深度文章。 要求 1. 包含至少一个你亲自经历过的案例或故事 2. 使用第一人称我或我们表达观点 3. 包含具体的日期、数字和数据 4. 加入你自己的独特见解不要只是总结常识 5. 引用至少3个外部权威来源 6. 使用列表和表格组织信息 7. 在文章底部加入作者介绍说明你的专业背景 8. 语言可以有一些个人风格不要太完美和机械化 9. 字数2000字以上六、持续监控defmonitor_content_performance(url:str,target_keywords:List[str],api_key:str):监控某页面的排名表现rankings{}forkwintarget_keywords:headers{X-API-Key:api_key,Content-Type:application/json}body{q:kw,hl:en,gl:us,page:1}rrequests.post(BASE_URL,headersheaders,jsonbody,timeout30)datar.json()foritemindata.get(organic,[]):ifurlinitem.get(link,):rankings[kw]item[rank]breakreturn{url:url,avg_rank:sum(rankings.values())/len(rankings)ifrankingselseNone,top3_count:sum(1forrinrankings.values()ifr3),rankings:rankings}七、总结这个实验告诉我几件事Google确实在奖励人性化的内容有作者信息、有个人经历、有独特观点AI内容不是不能用但需要人工化加案例、加观点、加个人色彩结构很重要高排名页面普遍有更丰富的结构化元素标题、列表、表格、图片E-E-A-T不是空话作者bio、发布日期、schema标记这些都有显著差异建议用AI生成内容骨架人工添加案例、观点、个人经历确保结构符合高排名页面的特征定期用搜索API监控实际排名表现这个实验的样本量不大260个页面结论可能有偏差。但方向是对的Google的Helpful Content Update确实在打压低质量、同质化的内容。AI工具是生产力工具不是替代品。最终内容的质量还是取决于人的判断和加工。