feat: sync latest GPT SEO routing and docs
This commit is contained in:
@@ -7,6 +7,7 @@ use think\exception\Handle;
|
||||
use think\exception\HttpException;
|
||||
use think\exception\HttpResponseException;
|
||||
use think\exception\ValidateException;
|
||||
use think\facade\Log;
|
||||
use think\Response;
|
||||
use Throwable;
|
||||
|
||||
@@ -36,6 +37,8 @@ class ExceptionHandle extends Handle
|
||||
*/
|
||||
public function report(Throwable $exception): void
|
||||
{
|
||||
$this->reportFrontendDetailException($exception);
|
||||
|
||||
// 使用内置的方式记录异常日志
|
||||
parent::report($exception);
|
||||
}
|
||||
@@ -55,4 +58,63 @@ class ExceptionHandle extends Handle
|
||||
// 其他错误交给系统处理
|
||||
return parent::render($request, $e);
|
||||
}
|
||||
|
||||
protected function reportFrontendDetailException(Throwable $exception): void
|
||||
{
|
||||
try {
|
||||
if (!function_exists('request')) {
|
||||
return;
|
||||
}
|
||||
|
||||
$request = request();
|
||||
if (!$request) {
|
||||
return;
|
||||
}
|
||||
|
||||
$path = '/' . ltrim((string)$request->pathinfo(), '/');
|
||||
$normalizedPath = strtolower($path);
|
||||
$isDetailLike = str_starts_with($normalizedPath, '/detail/')
|
||||
|| str_starts_with($normalizedPath, '/voddetail/')
|
||||
|| str_starts_with($normalizedPath, '/video-detail/')
|
||||
|| str_starts_with($normalizedPath, '/vodinfo/')
|
||||
|| str_starts_with($normalizedPath, '/video-info/')
|
||||
|| str_starts_with($normalizedPath, '/film/')
|
||||
|| str_starts_with($normalizedPath, '/movie/')
|
||||
|| str_starts_with($normalizedPath, '/player/')
|
||||
|| str_starts_with($normalizedPath, '/vodplay/')
|
||||
|| str_starts_with($normalizedPath, '/video-bofang/')
|
||||
|| str_starts_with($normalizedPath, '/bf-');
|
||||
|
||||
if (!$isDetailLike) {
|
||||
return;
|
||||
}
|
||||
|
||||
$route = method_exists($request, 'route') ? $request->route() : null;
|
||||
$routeVars = [];
|
||||
foreach (['strPinyin', 'intVId', 'intVForgeId', 'strPlayType', 'intPlayIndex'] as $key) {
|
||||
try {
|
||||
$routeVars[$key] = $route ? $route->getRuleParam($key) : null;
|
||||
} catch (Throwable) {
|
||||
$routeVars[$key] = null;
|
||||
}
|
||||
}
|
||||
|
||||
Log::error('frontend_detail_exception', [
|
||||
'host' => (string)$request->host(true),
|
||||
'method' => (string)$request->method(),
|
||||
'url' => (string)$request->url(true),
|
||||
'path' => $path,
|
||||
'ip' => (string)$request->ip(),
|
||||
'user_agent' => (string)$request->server('HTTP_USER_AGENT', ''),
|
||||
'query' => $request->get(),
|
||||
'route' => $routeVars,
|
||||
'exception_class' => get_class($exception),
|
||||
'exception_message' => $exception->getMessage(),
|
||||
'exception_file' => $exception->getFile(),
|
||||
'exception_line' => $exception->getLine(),
|
||||
]);
|
||||
} catch (Throwable) {
|
||||
// 避免异常上报链路再抛错,影响原始异常处理。
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,37 +22,57 @@ $strTmpCode = $siteContext->getTemplate();
|
||||
if ($strTmpCode == 'videoGpt1') {
|
||||
// if (env('IS_GPT_TMP', false)) {
|
||||
|
||||
$routeGetHead = static function (string $route, $handler) {
|
||||
return Route::rule($route, $handler, 'GET|HEAD');
|
||||
};
|
||||
|
||||
// ---------- Common public routes (keep compatible) ----------
|
||||
Route::get('/robots', function (\think\Request $Request, SiteContext $SiteContext) {
|
||||
$routeGetHead('/robots', function (\think\Request $Request, SiteContext $SiteContext) {
|
||||
return view('sitemap/robots.txt');
|
||||
})->ext('txt');
|
||||
|
||||
Route::get('/sitemap', function (\think\Request $Request, SiteContext $SiteContext) {
|
||||
$routeGetHead('/sitemap', function (\think\Request $Request, SiteContext $SiteContext) {
|
||||
return view('video/getMap.html');
|
||||
})->ext('html');
|
||||
|
||||
Route::get('rss/baidu', function () {
|
||||
$routeGetHead('/sitemap.xml', function (\think\Request $Request, SiteContext $SiteContext) {
|
||||
return $SiteContext->getSiteMapByCode('INDEX');
|
||||
});
|
||||
|
||||
$routeGetHead('rss/baidu', function () {
|
||||
return view('rss/baidu.xml')->contentType('text/xml');
|
||||
})->ext('xml');
|
||||
|
||||
Route::get('rss/so', function () {
|
||||
$routeGetHead('rss/so', function () {
|
||||
return view('rss/so.xml')->contentType('text/xml');
|
||||
})->ext('xml');
|
||||
|
||||
Route::get('/sitemap_index', function (\think\Request $Request, SiteContext $SiteContext) {
|
||||
$routeGetHead('/sitemap_index', function (\think\Request $Request, SiteContext $SiteContext) {
|
||||
return $SiteContext->getSiteMapByCode('INDEX');
|
||||
})->ext('xml');
|
||||
|
||||
Route::get('/sitemap-main', function (\think\Request $Request, SiteContext $SiteContext) {
|
||||
$routeGetHead('/sitemap_index.xml', function (\think\Request $Request, SiteContext $SiteContext) {
|
||||
return $SiteContext->getSiteMapByCode('INDEX');
|
||||
});
|
||||
|
||||
$routeGetHead('/sitemap-main', function (\think\Request $Request, SiteContext $SiteContext) {
|
||||
return $SiteContext->getSiteMapByCode('MAIN');
|
||||
})->ext('xml');
|
||||
|
||||
Route::get('/sitemap-videos-:page', function (\think\Request $Request, SiteContext $SiteContext) {
|
||||
$routeGetHead('/sitemap-main.xml', function (\think\Request $Request, SiteContext $SiteContext) {
|
||||
return $SiteContext->getSiteMapByCode('MAIN');
|
||||
});
|
||||
|
||||
$routeGetHead('/sitemap-videos-:page', function (\think\Request $Request, SiteContext $SiteContext) {
|
||||
return $SiteContext->getSiteMapByCode('VIDEO');
|
||||
})->ext('xml');
|
||||
|
||||
$routeGetHead('/sitemap-videos-:page.xml', function (\think\Request $Request, SiteContext $SiteContext) {
|
||||
return $SiteContext->getSiteMapByCode('VIDEO');
|
||||
});
|
||||
|
||||
// 榜单首页历史深链优先硬绑定,避免被通用 rank_list 模式误吞到列表页模板。
|
||||
Route::get('/phb-index', function () {
|
||||
$routeGetHead('/phb-index', function () {
|
||||
return view('video/getRankIndex.html');
|
||||
});
|
||||
|
||||
@@ -67,13 +87,13 @@ if ($strTmpCode == 'videoGpt1') {
|
||||
string $route,
|
||||
string $view,
|
||||
array $pattern = []
|
||||
) use (&$registered) {
|
||||
) use (&$registered, $routeGetHead) {
|
||||
|
||||
if (isset($registered[$route])) {
|
||||
return;
|
||||
}
|
||||
|
||||
$r = Route::get($route, fn() => view($view));
|
||||
$r = $routeGetHead($route, fn() => view($view));
|
||||
|
||||
if ($pattern) {
|
||||
$r->pattern($pattern);
|
||||
@@ -88,7 +108,7 @@ if ($strTmpCode == 'videoGpt1') {
|
||||
if (str_ends_with($route, '.html')) {
|
||||
$routeWithoutExt = substr($route, 0, -5);
|
||||
if ($routeWithoutExt !== '' && !isset($registered[$routeWithoutExt])) {
|
||||
$alias = Route::get($routeWithoutExt, fn() => view($view))->ext('html');
|
||||
$alias = $routeGetHead($routeWithoutExt, fn() => view($view))->ext('html');
|
||||
if ($pattern) {
|
||||
$alias->pattern($pattern);
|
||||
}
|
||||
@@ -163,7 +183,7 @@ if ($strTmpCode == 'videoGpt1') {
|
||||
|
||||
case 'detail':
|
||||
$register($route, 'video/getVideoInfo.html', [
|
||||
'intVId' => '\d+',
|
||||
'intVId' => '\d*',
|
||||
'strPinyin' => '[\w-]+'
|
||||
]);
|
||||
break;
|
||||
@@ -255,6 +275,9 @@ if ($strTmpCode == 'videoGpt1') {
|
||||
'/shipin-neiron/:intVId-:intVForgeId',
|
||||
],
|
||||
'detail' => [
|
||||
'/detail/:strPinyin',
|
||||
'/detail/pinyin-:strPinyin',
|
||||
'/detail/:strPinyin/:intVForgeId',
|
||||
'/voddetail/:strPinyin-:intVId',
|
||||
'/vodinfo/:strPinyin-:intVId',
|
||||
'/vod/:strPinyin-:intVId',
|
||||
@@ -327,8 +350,9 @@ if ($strTmpCode == 'videoGpt1') {
|
||||
|
||||
case 'detail':
|
||||
$register($route, 'video/getVideoInfo.html', [
|
||||
'intVId' => '\d+',
|
||||
'intVId' => '\d*',
|
||||
'strPinyin' => '[\w-]+',
|
||||
'intVForgeId' => '\d*',
|
||||
]);
|
||||
break;
|
||||
|
||||
@@ -374,6 +398,10 @@ if ($strTmpCode == 'videoGpt1') {
|
||||
return view('video/getMap.html');
|
||||
})->ext('html');
|
||||
|
||||
Route::get('/sitemap.xml', function (\think\Request $Request, SiteContext $SiteContext) {
|
||||
return $SiteContext->getSiteMapByCode('INDEX');
|
||||
});
|
||||
|
||||
/**
|
||||
* /rss/baidu
|
||||
*/
|
||||
@@ -398,6 +426,10 @@ if ($strTmpCode == 'videoGpt1') {
|
||||
// return view('sitemap/sitemap_index.xml');
|
||||
})->ext('xml');
|
||||
|
||||
Route::get('/sitemap_index.xml', function (\think\Request $Request, SiteContext $SiteContext) {
|
||||
return $SiteContext->getSiteMapByCode('INDEX');
|
||||
});
|
||||
|
||||
/**
|
||||
* 首页、分类列表、排行榜、男生/女生频道。
|
||||
*/
|
||||
@@ -406,6 +438,10 @@ if ($strTmpCode == 'videoGpt1') {
|
||||
// return view('sitemap/sitemap-main.xml');
|
||||
})->ext('xml');
|
||||
|
||||
Route::get('/sitemap-main.xml', function (\think\Request $Request, SiteContext $SiteContext) {
|
||||
return $SiteContext->getSiteMapByCode('MAIN');
|
||||
});
|
||||
|
||||
/**
|
||||
* 小说目录页面。
|
||||
*/
|
||||
@@ -445,6 +481,10 @@ if ($strTmpCode == 'videoGpt1') {
|
||||
// return view('sitemap/sitemap-books.xml');
|
||||
})->ext('xml');
|
||||
|
||||
Route::get('/sitemap-videos-:page.xml', function (\think\Request $Request, SiteContext $SiteContext) {
|
||||
return $SiteContext->getSiteMapByCode('VIDEO');
|
||||
});
|
||||
|
||||
|
||||
/**
|
||||
* 搜索首页
|
||||
|
||||
@@ -1,117 +1,133 @@
|
||||
{// ===================== Title Variants ===================== }
|
||||
|
||||
{php}
|
||||
$strDetailTitleName = trim((string)($arrVideo['v_name'] ?? ''));
|
||||
if ($strDetailTitleName === '') {
|
||||
$strDetailTitleName = '视频详情';
|
||||
}
|
||||
|
||||
$strDetailTitleYear = trim((string)($arrVideo['v_year'] ?? ''));
|
||||
$boolShowDetailYear = $strDetailTitleYear !== ''
|
||||
&& preg_match('/^(19|20)\d{2}$/', $strDetailTitleYear)
|
||||
&& $strDetailTitleYear !== '0';
|
||||
|
||||
$strDetailTitleScore = trim((string)($arrVideo['v_score'] ?? ''));
|
||||
$boolShowDetailScore = $strDetailTitleScore !== ''
|
||||
&& is_numeric($strDetailTitleScore)
|
||||
&& (float)$strDetailTitleScore > 0;
|
||||
{/php}
|
||||
|
||||
{if $variant == 0}
|
||||
<h1 class="{$TpStyle.dom_prefix}-dm-title v0">
|
||||
{$arrVideo.v_name}
|
||||
{$strDetailTitleName}
|
||||
</h1>
|
||||
|
||||
{elseif $variant == 1}
|
||||
<h1 class="{$TpStyle.dom_prefix}-dm-title v1">
|
||||
{$arrVideo.v_name}
|
||||
<small>{$arrVideo.v_year}</small>
|
||||
{$strDetailTitleName}
|
||||
{if $boolShowDetailYear}<small>{$strDetailTitleYear}</small>{/if}
|
||||
</h1>
|
||||
|
||||
{elseif $variant == 2}
|
||||
<h2 class="{$TpStyle.dom_prefix}-dm-title v2">
|
||||
《{$arrVideo.v_name}》
|
||||
</h2>
|
||||
<h1 class="{$TpStyle.dom_prefix}-dm-title v2">
|
||||
《{$strDetailTitleName}》
|
||||
</h1>
|
||||
|
||||
{elseif $variant == 3}
|
||||
<header class="{$TpStyle.dom_prefix}-dm-title-wrap v3">
|
||||
<h1 class="{$TpStyle.dom_prefix}-dm-title">{$arrVideo.v_name}</h1>
|
||||
<span class="{$TpStyle.dom_prefix}-dm-sub">{$arrVideo.v_year}</span>
|
||||
<h1 class="{$TpStyle.dom_prefix}-dm-title">{$strDetailTitleName}</h1>
|
||||
{if $boolShowDetailYear}<span class="{$TpStyle.dom_prefix}-dm-sub">{$strDetailTitleYear}</span>{/if}
|
||||
</header>
|
||||
|
||||
{elseif $variant == 4}
|
||||
<div class="{$TpStyle.dom_prefix}-dm-title-box v4">
|
||||
<strong class="{$TpStyle.dom_prefix}-dm-title">{$arrVideo.v_name}</strong>
|
||||
<h1 class="{$TpStyle.dom_prefix}-dm-title">{$strDetailTitleName}</h1>
|
||||
</div>
|
||||
|
||||
{elseif $variant == 5}
|
||||
<h1 class="{$TpStyle.dom_prefix}-dm-title v5">
|
||||
{$arrVideo.v_name}
|
||||
{$strDetailTitleName}
|
||||
<sup>HD</sup>
|
||||
</h1>
|
||||
|
||||
{elseif $variant == 6}
|
||||
<section class="{$TpStyle.dom_prefix}-dm-title-wrap v6">
|
||||
<h1 class="{$TpStyle.dom_prefix}-dm-title">{$arrVideo.v_name}</h1>
|
||||
<h1 class="{$TpStyle.dom_prefix}-dm-title">{$strDetailTitleName}</h1>
|
||||
</section>
|
||||
|
||||
{elseif $variant == 7}
|
||||
<article class="{$TpStyle.dom_prefix}-dm-title-wrap v7">
|
||||
<h2 class="{$TpStyle.dom_prefix}-dm-title">{$arrVideo.v_name}</h2>
|
||||
<h1 class="{$TpStyle.dom_prefix}-dm-title">{$strDetailTitleName}</h1>
|
||||
</article>
|
||||
|
||||
{elseif $variant == 8}
|
||||
<figure class="{$TpStyle.dom_prefix}-dm-title-wrap v8">
|
||||
<figcaption class="{$TpStyle.dom_prefix}-dm-title">
|
||||
{$arrVideo.v_name}
|
||||
</figcaption>
|
||||
<h1 class="{$TpStyle.dom_prefix}-dm-title">
|
||||
{$strDetailTitleName}
|
||||
</h1>
|
||||
</figure>
|
||||
|
||||
{elseif $variant == 9}
|
||||
<h1 class="{$TpStyle.dom_prefix}-dm-title v9">
|
||||
{$arrVideo.v_name}
|
||||
<span class="{$TpStyle.dom_prefix}-dm-tag">在线观看</span>
|
||||
{$strDetailTitleName}
|
||||
</h1>
|
||||
|
||||
{elseif $variant == 10}
|
||||
<h1 class="{$TpStyle.dom_prefix}-dm-title v10" data-title="{$arrVideo.v_name}">
|
||||
{$arrVideo.v_name}
|
||||
<h1 class="{$TpStyle.dom_prefix}-dm-title v10" data-title="{$strDetailTitleName}">
|
||||
{$strDetailTitleName}
|
||||
</h1>
|
||||
|
||||
{elseif $variant == 11}
|
||||
<h2 class="{$TpStyle.dom_prefix}-dm-title v11">
|
||||
<strong>{$arrVideo.v_name}</strong>
|
||||
</h2>
|
||||
<h1 class="{$TpStyle.dom_prefix}-dm-title v11">
|
||||
<strong>{$strDetailTitleName}</strong>
|
||||
</h1>
|
||||
|
||||
{elseif $variant == 12}
|
||||
<div class="{$TpStyle.dom_prefix}-dm-title-box v12">
|
||||
<h1 class="{$TpStyle.dom_prefix}-dm-title">
|
||||
{$arrVideo.v_name}
|
||||
<em>{$arrVideo.v_year}</em>
|
||||
{$strDetailTitleName}
|
||||
{if $boolShowDetailYear}<em>{$strDetailTitleYear}</em>{/if}
|
||||
</h1>
|
||||
</div>
|
||||
|
||||
{elseif $variant == 13}
|
||||
<h1 class="{$TpStyle.dom_prefix}-dm-title v13">
|
||||
{$arrVideo.v_name}
|
||||
<span class="{$TpStyle.dom_prefix}-dm-score">{$arrVideo.v_score}</span>
|
||||
{$strDetailTitleName}
|
||||
{if $boolShowDetailScore}<span class="{$TpStyle.dom_prefix}-dm-score">{$strDetailTitleScore}</span>{/if}
|
||||
</h1>
|
||||
|
||||
{elseif $variant == 14}
|
||||
<header class="{$TpStyle.dom_prefix}-dm-title-wrap v14">
|
||||
<h1 class="{$TpStyle.dom_prefix}-dm-title">{$arrVideo.v_name}</h1>
|
||||
<h1 class="{$TpStyle.dom_prefix}-dm-title">{$strDetailTitleName}</h1>
|
||||
<i class="{$TpStyle.dom_prefix}-dm-icon"></i>
|
||||
</header>
|
||||
|
||||
{elseif $variant == 15}
|
||||
<h1 class="{$TpStyle.dom_prefix}-dm-title v15">
|
||||
{$arrVideo.v_name} 免费高清完整版
|
||||
{$strDetailTitleName} 免费高清完整版
|
||||
</h1>
|
||||
|
||||
{elseif $variant == 16}
|
||||
<h1 class="{$TpStyle.dom_prefix}-dm-title v16" itemprop="name">
|
||||
{$arrVideo.v_name}
|
||||
{$strDetailTitleName}
|
||||
</h1>
|
||||
|
||||
{elseif $variant == 17}
|
||||
<div class="{$TpStyle.dom_prefix}-dm-title-box v17">
|
||||
<h2 class="{$TpStyle.dom_prefix}-dm-title">{$arrVideo.v_name}</h2>
|
||||
<h1 class="{$TpStyle.dom_prefix}-dm-title">{$strDetailTitleName}</h1>
|
||||
</div>
|
||||
|
||||
{elseif $variant == 18}
|
||||
<h1 class="{$TpStyle.dom_prefix}-dm-title v18">
|
||||
{$arrVideo.v_name}
|
||||
{$strDetailTitleName}
|
||||
<span class="{$TpStyle.dom_prefix}-dm-hidden">
|
||||
{$arrVideo.v_year} 在线观看
|
||||
{if $boolShowDetailYear}{$strDetailTitleYear}{/if}
|
||||
</span>
|
||||
</h1>
|
||||
|
||||
{elseif $variant == 19}
|
||||
<section class="{$TpStyle.dom_prefix}-dm-title-wrap v19">
|
||||
<h1 class="{$TpStyle.dom_prefix}-dm-title">{$arrVideo.v_name}</h1>
|
||||
<h1 class="{$TpStyle.dom_prefix}-dm-title">{$strDetailTitleName}</h1>
|
||||
</section>
|
||||
|
||||
{/if}
|
||||
|
||||
@@ -14,12 +14,13 @@
|
||||
</figure>
|
||||
|
||||
<section class="{$TpStyle.dom_prefix}-p1-info">
|
||||
<h1>{$arrVideo.v_name}</h1>
|
||||
<h1>{$strPlayMainHeading}</h1>
|
||||
|
||||
<p class="{$TpStyle.dom_prefix}-p1-meta">
|
||||
<span>{$arrVideo.v_category}</span>
|
||||
<span>{$arrVideo.v_area}</span>
|
||||
<span>{$arrVideo.v_year}</span>
|
||||
<span>{$strPlayHeadingMeta}</span>
|
||||
</p>
|
||||
|
||||
<p class="{$TpStyle.dom_prefix}-p1-des">
|
||||
|
||||
@@ -13,11 +13,12 @@
|
||||
|
||||
{// 基本信息 }
|
||||
<section class="{$TpStyle.dom_prefix}-p2-info">
|
||||
<h1>{$arrVideo.v_name}</h1>
|
||||
<h1>{$strPlayMainHeading}</h1>
|
||||
<p class="{$TpStyle.dom_prefix}-p2-meta">
|
||||
<span>{$arrVideo.v_category}</span>
|
||||
<span>{$arrVideo.v_area}</span>
|
||||
<span>{$arrVideo.v_year}</span>
|
||||
<span>{$strPlayHeadingMeta}</span>
|
||||
</p>
|
||||
<p class="{$TpStyle.dom_prefix}-p2-actors">
|
||||
主演:{$arrVideo.v_actor}
|
||||
|
||||
@@ -13,9 +13,9 @@
|
||||
<div id="dplayer" class="{$TpStyle.dom_prefix}-p3-dp"></div>
|
||||
|
||||
<div class="{$TpStyle.dom_prefix}-p3-info">
|
||||
<h1>{$arrVideo.v_name}</h1>
|
||||
<h1>{$strPlayMainHeading}</h1>
|
||||
<p class="{$TpStyle.dom_prefix}-p3-meta">
|
||||
{$arrVideo.v_category} · {$arrVideo.v_area} · {$arrVideo.v_year}
|
||||
{$arrVideo.v_category} · {$arrVideo.v_area} · {$arrVideo.v_year} · {$strPlayHeadingMeta}
|
||||
</p>
|
||||
<p class="{$TpStyle.dom_prefix}-p3-actor">
|
||||
主演:{$arrVideo.v_actor}
|
||||
|
||||
@@ -11,8 +11,8 @@
|
||||
</div>
|
||||
|
||||
<header class="{$TpStyle.dom_prefix}-p4-info">
|
||||
<h1>{$arrVideo.v_name}</h1>
|
||||
<p>{$arrVideo.v_year} · {$arrVideo.v_category} · {$arrVideo.v_area}</p>
|
||||
<h1>{$strPlayMainHeading}</h1>
|
||||
<p>{$arrVideo.v_year} · {$arrVideo.v_category} · {$arrVideo.v_area} · {$strPlayHeadingMeta}</p>
|
||||
</header>
|
||||
|
||||
{// 下拉线路 }
|
||||
|
||||
@@ -11,13 +11,13 @@
|
||||
<div class="{$TpStyle.dom_prefix}-p5-left">
|
||||
<img loading="lazy"
|
||||
src="{site:cfg code='PUBLIC_COVER_DOMAIN' encode='false'/}{$arrVideo.v_pic}"
|
||||
alt="{$arrVideo.v_name}"
|
||||
alt="{$strPlayMainHeading}"
|
||||
class="{$TpStyle.dom_prefix}-p5-pic">
|
||||
</div>
|
||||
<div class="{$TpStyle.dom_prefix}-p5-right">
|
||||
<h1>{$arrVideo.v_name}</h1>
|
||||
<h1>{$strPlayMainHeading}</h1>
|
||||
<p class="{$TpStyle.dom_prefix}-p5-meta">
|
||||
{$arrVideo.v_year} · {$arrVideo.v_category} · {$arrVideo.v_area}
|
||||
{$arrVideo.v_year} · {$arrVideo.v_category} · {$arrVideo.v_area} · {$strPlayHeadingMeta}
|
||||
</p>
|
||||
<div id="dplayer" class="{$TpStyle.dom_prefix}-p5-dp"></div>
|
||||
</div>
|
||||
|
||||
@@ -7,6 +7,10 @@
|
||||
data-preload="{$pageCfg.player.opt.preload|default='metadata'}"
|
||||
data-ratio="{$pageCfg.player.opt.ratio|default='16x9'}">
|
||||
|
||||
<h1 style="position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;">
|
||||
{$strPlayMainHeading|default=$arrVideo.v_name|default='正在播放'}
|
||||
</h1>
|
||||
|
||||
{if $variant == 0}
|
||||
<div class="{$TpStyle.dom_prefix}-player-core dplayer"></div>
|
||||
|
||||
@@ -17,7 +21,7 @@
|
||||
|
||||
{elseif $variant == 2}
|
||||
<header class="{$TpStyle.dom_prefix}-player-head">
|
||||
<h2 class="{$TpStyle.dom_prefix}-player-title">{$arrVideo.v_name|default='正在播放'}</h2>
|
||||
<h2 class="{$TpStyle.dom_prefix}-player-title">{$strPlayMainHeading|default=$arrVideo.v_name|default='正在播放'}</h2>
|
||||
</header>
|
||||
<div class="{$TpStyle.dom_prefix}-player-core dplayer"></div>
|
||||
|
||||
@@ -30,7 +34,7 @@
|
||||
{elseif $variant == 4}
|
||||
<article class="{$TpStyle.dom_prefix}-player-article">
|
||||
<header class="{$TpStyle.dom_prefix}-player-head">
|
||||
<h1 class="{$TpStyle.dom_prefix}-player-title">{$arrVideo.v_name|default='正在播放'}</h1>
|
||||
<h2 class="{$TpStyle.dom_prefix}-player-title">{$strPlayMainHeading|default=$arrVideo.v_name|default='正在播放'}</h2>
|
||||
</header>
|
||||
<div class="{$TpStyle.dom_prefix}-player-core dplayer"></div>
|
||||
</article>
|
||||
@@ -38,7 +42,7 @@
|
||||
{elseif $variant == 5}
|
||||
<figure class="{$TpStyle.dom_prefix}-player-figure">
|
||||
<div class="{$TpStyle.dom_prefix}-player-core dplayer"></div>
|
||||
<figcaption class="{$TpStyle.dom_prefix}-player-caption">{$arrVideo.v_name|default='正在播放'}</figcaption>
|
||||
<figcaption class="{$TpStyle.dom_prefix}-player-caption">{$strPlayMainHeading|default=$arrVideo.v_name|default='正在播放'}</figcaption>
|
||||
</figure>
|
||||
|
||||
{elseif $variant == 6}
|
||||
@@ -111,7 +115,7 @@
|
||||
|
||||
{elseif $variant == 18}
|
||||
<header class="{$TpStyle.dom_prefix}-player-head">
|
||||
<h3 class="{$TpStyle.dom_prefix}-player-title">{$arrVideo.v_name|default='正在播放'}</h3>
|
||||
<h2 class="{$TpStyle.dom_prefix}-player-title">{$strPlayMainHeading|default=$arrVideo.v_name|default='正在播放'}</h2>
|
||||
</header>
|
||||
<main class="{$TpStyle.dom_prefix}-player-body">
|
||||
<div class="{$TpStyle.dom_prefix}-player-core dplayer"></div>
|
||||
@@ -123,7 +127,7 @@
|
||||
{else}
|
||||
<article class="{$TpStyle.dom_prefix}-player-article">
|
||||
<header class="{$TpStyle.dom_prefix}-player-head">
|
||||
<h2 class="{$TpStyle.dom_prefix}-player-title">{$arrVideo.v_name|default='正在播放'}</h2>
|
||||
<h2 class="{$TpStyle.dom_prefix}-player-title">{$strPlayMainHeading|default=$arrVideo.v_name|default='正在播放'}</h2>
|
||||
</header>
|
||||
<div class="{$TpStyle.dom_prefix}-player-wrap">
|
||||
<div class="{$TpStyle.dom_prefix}-player-core dplayer"></div>
|
||||
@@ -134,4 +138,4 @@
|
||||
</article>
|
||||
{/if}
|
||||
|
||||
</section>
|
||||
</section>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
{case value="0"}
|
||||
<header class='__PFX__-sh-c0'>
|
||||
<div class='wrap'>
|
||||
<h1><span class='__PFX__-k is-pill'>{$Request.get.keyword}</span></h1>
|
||||
<h1><span class='__PFX__-k is-pill'>{$Request.get.keyword}</span> 搜索结果</h1>
|
||||
<p>搜索结果</p>
|
||||
</div>
|
||||
</header>
|
||||
@@ -11,21 +11,21 @@
|
||||
<section class='__PFX__-sh-c1'>
|
||||
<div class='center'>
|
||||
<h2>Search</h2>
|
||||
<h1><mark class='__PFX__-k is-pill'>{$Request.get.keyword}</mark></h1>
|
||||
<h1><mark class='__PFX__-k is-pill'>{$Request.get.keyword}</mark> 搜索结果</h1>
|
||||
</div>
|
||||
</section>
|
||||
{/case}
|
||||
{case value="2"}
|
||||
<div class='__PFX__-sh-c2'>
|
||||
<div class='center'>
|
||||
<h1>“<strong class='__PFX__-k is-pill'>{$Request.get.keyword}</strong>”</h1><small>Results</small>
|
||||
<h1>“<strong class='__PFX__-k is-pill'>{$Request.get.keyword}</strong>” 搜索结果</h1><small>Results</small>
|
||||
</div>
|
||||
</div>
|
||||
{/case}
|
||||
{case value="3"}
|
||||
<header class='__PFX__-sh-c3'>
|
||||
<div class='center'>
|
||||
<h1><em class='__PFX__-k is-pill'>{$Request.get.keyword}</em></h1>
|
||||
<h1><em class='__PFX__-k is-pill'>{$Request.get.keyword}</em> 搜索结果</h1>
|
||||
</div>
|
||||
<div class='underline' aria-hidden='true'></div>
|
||||
</header>
|
||||
@@ -34,14 +34,14 @@
|
||||
<section class='__PFX__-sh-c4'>
|
||||
<div class='center'>
|
||||
<p class='kicker'>关键词</p>
|
||||
<h1><span class='__PFX__-k is-pill' aria-label='keyword'>{$Request.get.keyword}</span></h1>
|
||||
<h1><span class='__PFX__-k is-pill' aria-label='keyword'>{$Request.get.keyword}</span> 搜索结果</h1>
|
||||
</div>
|
||||
</section>
|
||||
{/case}
|
||||
{case value="5"}
|
||||
<header class='__PFX__-sh-c5'>
|
||||
<div class='center'>
|
||||
<h1>搜索:<span class='__PFX__-k is-pill'>{$Request.get.keyword}</span></h1>
|
||||
<h1><span class='__PFX__-k is-pill'>{$Request.get.keyword}</span> 搜索结果</h1>
|
||||
<p class='sub'>为你呈现匹配内容</p>
|
||||
</div>
|
||||
</header>
|
||||
@@ -49,7 +49,7 @@
|
||||
{case value="6"}
|
||||
<section class='__PFX__-sh-c6'>
|
||||
<div class='center'>
|
||||
<h1><mark class='__PFX__-k is-pill'>{$Request.get.keyword}</mark></h1>
|
||||
<h1><mark class='__PFX__-k is-pill'>{$Request.get.keyword}</mark> 搜索结果</h1>
|
||||
<div class='dots' aria-hidden='true'><span></span><span></span><span></span></div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -58,14 +58,14 @@
|
||||
<header class='__PFX__-sh-c7'>
|
||||
<div class='center'>
|
||||
<nav aria-label='breadcrumb'><span>搜索</span></nav>
|
||||
<h1><strong class='__PFX__-k is-pill'>{$Request.get.keyword}</strong></h1>
|
||||
<h1><strong class='__PFX__-k is-pill'>{$Request.get.keyword}</strong> 搜索结果</h1>
|
||||
</div>
|
||||
</header>
|
||||
{/case}
|
||||
{case value="8"}
|
||||
<section class='__PFX__-sh-c8'>
|
||||
<div class='center card'>
|
||||
<h1><em class='__PFX__-k is-pill'>{$Request.get.keyword}</em></h1>
|
||||
<h1><em class='__PFX__-k is-pill'>{$Request.get.keyword}</em> 搜索结果</h1>
|
||||
<p>搜索结果页</p>
|
||||
</div>
|
||||
</section>
|
||||
@@ -73,7 +73,7 @@
|
||||
{case value="9"}
|
||||
<div class='__PFX__-sh-c9'>
|
||||
<div class='center'>
|
||||
<h1><span class='__PFX__-k is-pill' aria-label='keyword'>{$Request.get.keyword}</span></h1>
|
||||
<h1><span class='__PFX__-k is-pill' aria-label='keyword'>{$Request.get.keyword}</span> 搜索结果</h1>
|
||||
<p class='sub'>精选匹配条目</p><a class='btn' href='javascript:void(0)' rel='nofollow'>换词</a>
|
||||
</div>
|
||||
</div>
|
||||
@@ -82,14 +82,14 @@
|
||||
<header class='__PFX__-sh-c10'>
|
||||
<div class='center'>
|
||||
<h2>站内检索</h2>
|
||||
<h1><span class='__PFX__-k is-pill'>{$Request.get.keyword}</span></h1>
|
||||
<h1><span class='__PFX__-k is-pill'>{$Request.get.keyword}</span> 搜索结果</h1>
|
||||
</div>
|
||||
</header>
|
||||
{/case}
|
||||
{case value="11"}
|
||||
<section class='__PFX__-sh-c11'>
|
||||
<div class='center'>
|
||||
<h1><mark class='__PFX__-k is-pill'>{$Request.get.keyword}</mark></h1>
|
||||
<h1><mark class='__PFX__-k is-pill'>{$Request.get.keyword}</mark> 搜索结果</h1>
|
||||
<p class='sub'>相关搜索结果</p>
|
||||
</div><svg class='sig' aria-hidden='true'></svg>
|
||||
</section>
|
||||
@@ -97,7 +97,7 @@
|
||||
{case value="12"}
|
||||
<header class='__PFX__-sh-c12'>
|
||||
<div class='center'>
|
||||
<h1><strong class='__PFX__-k is-pill'>{$Request.get.keyword}</strong></h1>
|
||||
<h1><strong class='__PFX__-k is-pill'>{$Request.get.keyword}</strong> 搜索结果</h1>
|
||||
<p class='sub'>结果列表</p>
|
||||
</div>
|
||||
<div class='frame' aria-hidden='true'></div>
|
||||
@@ -106,7 +106,7 @@
|
||||
{case value="13"}
|
||||
<section class='__PFX__-sh-c13'>
|
||||
<div class='center'>
|
||||
<h1><em class='__PFX__-k is-pill'>{$Request.get.keyword}</em></h1>
|
||||
<h1><em class='__PFX__-k is-pill'>{$Request.get.keyword}</em> 搜索结果</h1>
|
||||
<p class='meta'>Search Result Page</p>
|
||||
</div>
|
||||
</section>
|
||||
@@ -114,7 +114,7 @@
|
||||
{case value="14"}
|
||||
<header class='__PFX__-sh-c14'>
|
||||
<div class='center'>
|
||||
<h1><span class='__PFX__-k is-pill' aria-label='keyword'>{$Request.get.keyword}</span></h1>
|
||||
<h1><span class='__PFX__-k is-pill' aria-label='keyword'>{$Request.get.keyword}</span> 搜索结果</h1>
|
||||
<ul class='tabs'>
|
||||
<li>全部</li>
|
||||
<li>相关</li>
|
||||
@@ -125,7 +125,7 @@
|
||||
{case value="15"}
|
||||
<section class='__PFX__-sh-c15'>
|
||||
<div class='center'>
|
||||
<h1><span class='__PFX__-k is-pill'>{$Request.get.keyword}</span></h1>
|
||||
<h1><span class='__PFX__-k is-pill'>{$Request.get.keyword}</span> 搜索结果</h1>
|
||||
<details open>
|
||||
<summary>展开提示</summary>
|
||||
<p>结果展示</p>
|
||||
@@ -136,7 +136,7 @@
|
||||
{case value="16"}
|
||||
<header class='__PFX__-sh-c16'>
|
||||
<div class='center'>
|
||||
<h1><mark class='__PFX__-k is-pill'>{$Request.get.keyword}</mark></h1>
|
||||
<h1><mark class='__PFX__-k is-pill'>{$Request.get.keyword}</mark> 搜索结果</h1>
|
||||
<p class='sub'>按相关度排序</p>
|
||||
</div>
|
||||
</header>
|
||||
@@ -144,7 +144,7 @@
|
||||
{case value="17"}
|
||||
<div class='__PFX__-sh-c17' role='banner'>
|
||||
<div class='center'>
|
||||
<h1><strong class='__PFX__-k is-pill'>{$Request.get.keyword}</strong></h1>
|
||||
<h1><strong class='__PFX__-k is-pill'>{$Request.get.keyword}</strong> 搜索结果</h1>
|
||||
<p class='sub'>即时匹配</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -152,7 +152,7 @@
|
||||
{case value="18"}
|
||||
<section class='__PFX__-sh-c18'>
|
||||
<div class='center'>
|
||||
<h1><em class='__PFX__-k is-pill'>{$Request.get.keyword}</em></h1>
|
||||
<h1><em class='__PFX__-k is-pill'>{$Request.get.keyword}</em> 搜索结果</h1>
|
||||
<p class='sub'>搜索结果</p>
|
||||
<div class='pillrow'><span>搜索</span><span>结果</span></div>
|
||||
</div>
|
||||
@@ -161,9 +161,9 @@
|
||||
{case value="19"}
|
||||
<header class='__PFX__-sh-c19'>
|
||||
<div class='center'>
|
||||
<h1><span class='__PFX__-k is-pill' aria-label='keyword'>{$Request.get.keyword}</span></h1>
|
||||
<h1><span class='__PFX__-k is-pill' aria-label='keyword'>{$Request.get.keyword}</span> 搜索结果</h1>
|
||||
</div>
|
||||
<p class='sub center'>结果页</p>
|
||||
</header>
|
||||
{/case}
|
||||
{/switch}
|
||||
{/switch}
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
{switch $variant}
|
||||
{case value="0"}
|
||||
<section class='__PFX__-sh-m0'>
|
||||
<h1 style="position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;">
|
||||
{$Request.get.keyword} 搜索结果
|
||||
</h1>
|
||||
<figure>
|
||||
<figcaption>🔍 <span class='__PFX__-k is-accent'>{$Request.get.keyword}</span></figcaption>
|
||||
</figure>
|
||||
@@ -8,6 +11,9 @@
|
||||
{/case}
|
||||
{case value="1"}
|
||||
<section class='__PFX__-sh-m1'>
|
||||
<h1 style="position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;">
|
||||
{$Request.get.keyword} 搜索结果
|
||||
</h1>
|
||||
<figure>
|
||||
<div class='media'></div>
|
||||
<figcaption><mark class='__PFX__-k is-accent'>{$Request.get.keyword}</mark> · 搜索结果</figcaption>
|
||||
@@ -16,6 +22,9 @@
|
||||
{/case}
|
||||
{case value="2"}
|
||||
<div class='__PFX__-sh-m2'>
|
||||
<h1 style="position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;">
|
||||
{$Request.get.keyword} 搜索结果
|
||||
</h1>
|
||||
<figure>
|
||||
<figcaption><span class='ico' aria-hidden='true'>⌕</span><strong
|
||||
class='__PFX__-k is-accent'>{$Request.get.keyword}</strong></figcaption>
|
||||
@@ -25,6 +34,9 @@
|
||||
{/case}
|
||||
{case value="3"}
|
||||
<section class='__PFX__-sh-m3'>
|
||||
<h1 style="position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;">
|
||||
{$Request.get.keyword} 搜索结果
|
||||
</h1>
|
||||
<figure>
|
||||
<figcaption>Search: <em class='__PFX__-k is-accent'>{$Request.get.keyword}</em></figcaption><small>Results</small>
|
||||
</figure>
|
||||
@@ -32,6 +44,9 @@
|
||||
{/case}
|
||||
{case value="4"}
|
||||
<div class='__PFX__-sh-m4'>
|
||||
<h1 style="position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;">
|
||||
{$Request.get.keyword} 搜索结果
|
||||
</h1>
|
||||
<figure>
|
||||
<figcaption><span class='__PFX__-k is-accent'>{$Request.get.keyword}</span></figcaption>
|
||||
</figure>
|
||||
@@ -40,6 +55,9 @@
|
||||
{/case}
|
||||
{case value="5"}
|
||||
<section class='__PFX__-sh-m5'>
|
||||
<h1 style="position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;">
|
||||
{$Request.get.keyword} 搜索结果
|
||||
</h1>
|
||||
<figure>
|
||||
<figcaption>“<span class='__PFX__-k is-accent'>{$Request.get.keyword}</span>”</figcaption>
|
||||
</figure>
|
||||
@@ -48,6 +66,9 @@
|
||||
{/case}
|
||||
{case value="6"}
|
||||
<div class='__PFX__-sh-m6'>
|
||||
<h1 style="position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;">
|
||||
{$Request.get.keyword} 搜索结果
|
||||
</h1>
|
||||
<figure>
|
||||
<figcaption><mark class='__PFX__-k is-accent'>{$Request.get.keyword}</mark></figcaption>
|
||||
<p class='sub'>搜索结果页</p>
|
||||
@@ -56,6 +77,9 @@
|
||||
{/case}
|
||||
{case value="7"}
|
||||
<section class='__PFX__-sh-m7'>
|
||||
<h1 style="position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;">
|
||||
{$Request.get.keyword} 搜索结果
|
||||
</h1>
|
||||
<figure>
|
||||
<figcaption><strong class='__PFX__-k is-accent'>{$Request.get.keyword}</strong></figcaption>
|
||||
</figure>
|
||||
@@ -64,6 +88,9 @@
|
||||
{/case}
|
||||
{case value="8"}
|
||||
<div class='__PFX__-sh-m8'>
|
||||
<h1 style="position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;">
|
||||
{$Request.get.keyword} 搜索结果
|
||||
</h1>
|
||||
<figure>
|
||||
<figcaption><span class='tag'>TAG</span><em class='__PFX__-k is-accent'>{$Request.get.keyword}</em></figcaption>
|
||||
</figure>
|
||||
@@ -71,6 +98,9 @@
|
||||
{/case}
|
||||
{case value="9"}
|
||||
<section class='__PFX__-sh-m9'>
|
||||
<h1 style="position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;">
|
||||
{$Request.get.keyword} 搜索结果
|
||||
</h1>
|
||||
<figure>
|
||||
<figcaption><span class='__PFX__-k is-accent'>{$Request.get.keyword}</span></figcaption>
|
||||
<div class='stroke' aria-hidden='true'></div>
|
||||
@@ -79,6 +109,9 @@
|
||||
{/case}
|
||||
{case value="10"}
|
||||
<div class='__PFX__-sh-m10'>
|
||||
<h1 style="position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;">
|
||||
{$Request.get.keyword} 搜索结果
|
||||
</h1>
|
||||
<figure>
|
||||
<figcaption><span class='__PFX__-k is-accent'>{$Request.get.keyword}</span></figcaption>
|
||||
</figure>
|
||||
@@ -90,6 +123,9 @@
|
||||
{/case}
|
||||
{case value="11"}
|
||||
<section class='__PFX__-sh-m11'>
|
||||
<h1 style="position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;">
|
||||
{$Request.get.keyword} 搜索结果
|
||||
</h1>
|
||||
<figure>
|
||||
<figcaption><mark class='__PFX__-k is-accent'>{$Request.get.keyword}</mark></figcaption>
|
||||
</figure>
|
||||
@@ -101,6 +137,9 @@
|
||||
{/case}
|
||||
{case value="12"}
|
||||
<div class='__PFX__-sh-m12'>
|
||||
<h1 style="position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;">
|
||||
{$Request.get.keyword} 搜索结果
|
||||
</h1>
|
||||
<figure>
|
||||
<figcaption><strong class='__PFX__-k is-accent'>{$Request.get.keyword}</strong></figcaption>
|
||||
</figure>
|
||||
@@ -109,6 +148,9 @@
|
||||
{/case}
|
||||
{case value="13"}
|
||||
<section class='__PFX__-sh-m13'>
|
||||
<h1 style="position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;">
|
||||
{$Request.get.keyword} 搜索结果
|
||||
</h1>
|
||||
<figure>
|
||||
<figcaption><em class='__PFX__-k is-accent'>{$Request.get.keyword}</em></figcaption>
|
||||
</figure>
|
||||
@@ -117,6 +159,9 @@
|
||||
{/case}
|
||||
{case value="14"}
|
||||
<div class='__PFX__-sh-m14'>
|
||||
<h1 style="position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;">
|
||||
{$Request.get.keyword} 搜索结果
|
||||
</h1>
|
||||
<figure>
|
||||
<figcaption>🔎 <span class='__PFX__-k is-accent'>{$Request.get.keyword}</span></figcaption>
|
||||
</figure>
|
||||
@@ -125,6 +170,9 @@
|
||||
{/case}
|
||||
{case value="15"}
|
||||
<section class='__PFX__-sh-m15'>
|
||||
<h1 style="position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;">
|
||||
{$Request.get.keyword} 搜索结果
|
||||
</h1>
|
||||
<figure>
|
||||
<figcaption><span class='__PFX__-k is-accent'>{$Request.get.keyword}</span></figcaption>
|
||||
</figure>
|
||||
@@ -133,6 +181,9 @@
|
||||
{/case}
|
||||
{case value="16"}
|
||||
<div class='__PFX__-sh-m16'>
|
||||
<h1 style="position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;">
|
||||
{$Request.get.keyword} 搜索结果
|
||||
</h1>
|
||||
<figure>
|
||||
<figcaption><mark class='__PFX__-k is-accent'>{$Request.get.keyword}</mark></figcaption>
|
||||
</figure>
|
||||
@@ -142,6 +193,9 @@
|
||||
{/case}
|
||||
{case value="17"}
|
||||
<section class='__PFX__-sh-m17'>
|
||||
<h1 style="position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;">
|
||||
{$Request.get.keyword} 搜索结果
|
||||
</h1>
|
||||
<figure>
|
||||
<figcaption><strong class='__PFX__-k is-accent'>{$Request.get.keyword}</strong></figcaption>
|
||||
</figure>
|
||||
@@ -150,6 +204,9 @@
|
||||
{/case}
|
||||
{case value="18"}
|
||||
<div class='__PFX__-sh-m18'>
|
||||
<h1 style="position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;">
|
||||
{$Request.get.keyword} 搜索结果
|
||||
</h1>
|
||||
<figure>
|
||||
<figcaption><em class='__PFX__-k is-accent'>{$Request.get.keyword}</em></figcaption>
|
||||
</figure>
|
||||
@@ -158,10 +215,13 @@
|
||||
{/case}
|
||||
{case value="19"}
|
||||
<section class='__PFX__-sh-m19'>
|
||||
<h1 style="position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;">
|
||||
{$Request.get.keyword} 搜索结果
|
||||
</h1>
|
||||
<figure>
|
||||
<figcaption><span class='__PFX__-k is-accent'>{$Request.get.keyword}</span></figcaption>
|
||||
</figure>
|
||||
<footer><small>search header</small></footer>
|
||||
</section>
|
||||
{/case}
|
||||
{/switch}
|
||||
{/switch}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
{case value="0"}
|
||||
<article class='__PFX__-sh-r0'>
|
||||
<header>
|
||||
<h1><mark class='__PFX__-k is-tag'>{$Request.get.keyword}</mark></h1>
|
||||
<h1><mark class='__PFX__-k is-tag'>{$Request.get.keyword}</mark> 搜索结果</h1>
|
||||
<p>与你查询相关的内容合集</p>
|
||||
</header>
|
||||
<aside>关键词:<mark class='__PFX__-k is-tag'>{$Request.get.keyword}</mark></aside>
|
||||
@@ -12,7 +12,7 @@
|
||||
<article class='__PFX__-sh-r1'>
|
||||
<header>
|
||||
<h2>搜索结果</h2>
|
||||
<h1><span class='__PFX__-k is-tag'>{$Request.get.keyword}</span></h1>
|
||||
<h1><span class='__PFX__-k is-tag'>{$Request.get.keyword}</span> 搜索结果</h1>
|
||||
</header>
|
||||
<section class='meta'><span>匹配</span><span>整理</span></section>
|
||||
</article>
|
||||
@@ -20,7 +20,7 @@
|
||||
{case value="2"}
|
||||
<main class='__PFX__-sh-r2'>
|
||||
<section class='hero'>
|
||||
<h1>“<strong class='__PFX__-k is-tag'>{$Request.get.keyword}</strong>”</h1>
|
||||
<h1>“<strong class='__PFX__-k is-tag'>{$Request.get.keyword}</strong>” 搜索结果</h1>
|
||||
<p>为你推荐相关内容</p>
|
||||
</section>
|
||||
<section class='info'>
|
||||
@@ -34,7 +34,7 @@
|
||||
{case value="3"}
|
||||
<article class='__PFX__-sh-r3'>
|
||||
<header>
|
||||
<h1>搜索:<em class='__PFX__-k is-tag'>{$Request.get.keyword}</em></h1>
|
||||
<h1><em class='__PFX__-k is-tag'>{$Request.get.keyword}</em> 搜索结果</h1>
|
||||
</header>
|
||||
<section class='cards'>
|
||||
<div class='card'>相关</div>
|
||||
@@ -45,7 +45,7 @@
|
||||
{case value="4"}
|
||||
<main class='__PFX__-sh-r4'>
|
||||
<header>
|
||||
<h1><code class='__PFX__-k is-tag'>{$Request.get.keyword}</code></h1>
|
||||
<h1><code class='__PFX__-k is-tag'>{$Request.get.keyword}</code> 搜索结果</h1>
|
||||
<p>结果列表</p>
|
||||
</header>
|
||||
<aside class='note'><strong>提示</strong>:尝试更具体的词</aside>
|
||||
@@ -54,7 +54,7 @@
|
||||
{case value="5"}
|
||||
<article class='__PFX__-sh-r5'>
|
||||
<header>
|
||||
<h1><mark class='__PFX__-k is-tag'>{$Request.get.keyword}</mark></h1>
|
||||
<h1><mark class='__PFX__-k is-tag'>{$Request.get.keyword}</mark> 搜索结果</h1>
|
||||
<p>按热度聚合的搜索内容</p>
|
||||
</header>
|
||||
<footer>来源:站内检索</footer>
|
||||
@@ -64,7 +64,7 @@
|
||||
<main class='__PFX__-sh-r6'>
|
||||
<header>
|
||||
<h2>关键词</h2>
|
||||
<h1><span class='__PFX__-k is-tag'>{$Request.get.keyword}</span></h1>
|
||||
<h1><span class='__PFX__-k is-tag'>{$Request.get.keyword}</span> 搜索结果</h1>
|
||||
</header>
|
||||
<section class='kv'><span>类型</span><span>内容</span></section>
|
||||
</main>
|
||||
@@ -72,7 +72,7 @@
|
||||
{case value="7"}
|
||||
<article class='__PFX__-sh-r7'>
|
||||
<header>
|
||||
<h1><strong class='__PFX__-k is-tag'>{$Request.get.keyword}</strong></h1>
|
||||
<h1><strong class='__PFX__-k is-tag'>{$Request.get.keyword}</strong> 搜索结果</h1>
|
||||
</header>
|
||||
<section class='grid'>
|
||||
<div>摘要</div>
|
||||
@@ -93,7 +93,7 @@
|
||||
{case value="9"}
|
||||
<article class='__PFX__-sh-r9'>
|
||||
<header>
|
||||
<h1><code class='__PFX__-k is-tag'>{$Request.get.keyword}</code></h1>
|
||||
<h1><code class='__PFX__-k is-tag'>{$Request.get.keyword}</code> 搜索结果</h1>
|
||||
<p>相关内容已按主题整理</p>
|
||||
</header>
|
||||
<section class='list'>
|
||||
@@ -107,7 +107,7 @@
|
||||
{case value="10"}
|
||||
<main class='__PFX__-sh-r10'>
|
||||
<header>
|
||||
<h1><mark class='__PFX__-k is-tag'>{$Request.get.keyword}</mark></h1>
|
||||
<h1><mark class='__PFX__-k is-tag'>{$Request.get.keyword}</mark> 搜索结果</h1>
|
||||
</header>
|
||||
<section class='stat'><span class='label'>匹配</span><span class='value'>N</span></section>
|
||||
</main>
|
||||
@@ -115,7 +115,7 @@
|
||||
{case value="11"}
|
||||
<article class='__PFX__-sh-r11'>
|
||||
<header>
|
||||
<h1>搜索结果</h1>
|
||||
<h1><span class='__PFX__-k is-tag'>{$Request.get.keyword}</span> 搜索结果</h1>
|
||||
</header>
|
||||
<section>
|
||||
<p>关键词:<span class='__PFX__-k is-tag'>{$Request.get.keyword}</span></p>
|
||||
@@ -128,7 +128,7 @@
|
||||
{case value="12"}
|
||||
<main class='__PFX__-sh-r12'>
|
||||
<section class='banner'>
|
||||
<h1><strong class='__PFX__-k is-tag'>{$Request.get.keyword}</strong></h1>
|
||||
<h1><strong class='__PFX__-k is-tag'>{$Request.get.keyword}</strong> 搜索结果</h1>
|
||||
<p>搜索结果展示页</p>
|
||||
</section>
|
||||
<section class='meta'><span>更新</span><span>相关</span></section>
|
||||
@@ -137,7 +137,7 @@
|
||||
{case value="13"}
|
||||
<article class='__PFX__-sh-r13'>
|
||||
<header>
|
||||
<h1><em class='__PFX__-k is-tag'>{$Request.get.keyword}</em></h1>
|
||||
<h1><em class='__PFX__-k is-tag'>{$Request.get.keyword}</em> 搜索结果</h1>
|
||||
<p>你可能还想找:</p>
|
||||
</header>
|
||||
<nav class='sugs' aria-label='suggest'><a href='javascript:void(0)' rel='nofollow'>相近词</a></nav>
|
||||
@@ -146,7 +146,7 @@
|
||||
{case value="14"}
|
||||
<main class='__PFX__-sh-r14'>
|
||||
<header>
|
||||
<h1>“<code class='__PFX__-k is-tag'>{$Request.get.keyword}</code>”</h1>
|
||||
<h1>“<code class='__PFX__-k is-tag'>{$Request.get.keyword}</code>” 搜索结果</h1>
|
||||
</header>
|
||||
<section class='panel'>
|
||||
<div class='hd'>概览</div>
|
||||
@@ -157,7 +157,7 @@
|
||||
{case value="15"}
|
||||
<article class='__PFX__-sh-r15'>
|
||||
<header>
|
||||
<h1><mark class='__PFX__-k is-tag'>{$Request.get.keyword}</mark></h1>
|
||||
<h1><mark class='__PFX__-k is-tag'>{$Request.get.keyword}</mark> 搜索结果</h1>
|
||||
<p>结果已按相关度排序</p>
|
||||
</header>
|
||||
<section class='filters'><span>全部</span><span>最新</span><span>推荐</span></section>
|
||||
@@ -166,7 +166,7 @@
|
||||
{case value="16"}
|
||||
<main class='__PFX__-sh-r16'>
|
||||
<header>
|
||||
<h1><span class='__PFX__-k is-tag'>{$Request.get.keyword}</span></h1>
|
||||
<h1><span class='__PFX__-k is-tag'>{$Request.get.keyword}</span> 搜索结果</h1>
|
||||
<p>站内搜索</p>
|
||||
</header>
|
||||
<section class='steps'><span>1 查询</span><span>2 匹配</span><span>3 展示</span></section>
|
||||
@@ -175,7 +175,7 @@
|
||||
{case value="17"}
|
||||
<article class='__PFX__-sh-r17'>
|
||||
<header>
|
||||
<h1><strong class='__PFX__-k is-tag'>{$Request.get.keyword}</strong></h1>
|
||||
<h1><strong class='__PFX__-k is-tag'>{$Request.get.keyword}</strong> 搜索结果</h1>
|
||||
</header>
|
||||
<section class='qa'>
|
||||
<details open>
|
||||
@@ -188,7 +188,7 @@
|
||||
{case value="18"}
|
||||
<main class='__PFX__-sh-r18'>
|
||||
<header>
|
||||
<h1><em class='__PFX__-k is-tag'>{$Request.get.keyword}</em></h1>
|
||||
<h1><em class='__PFX__-k is-tag'>{$Request.get.keyword}</em> 搜索结果</h1>
|
||||
<p>聚合页</p>
|
||||
</header>
|
||||
<section class='table'>
|
||||
@@ -204,10 +204,10 @@
|
||||
{case value="19"}
|
||||
<article class='__PFX__-sh-r19'>
|
||||
<header>
|
||||
<h1><code class='__PFX__-k is-tag'>{$Request.get.keyword}</code></h1>
|
||||
<h1><code class='__PFX__-k is-tag'>{$Request.get.keyword}</code> 搜索结果</h1>
|
||||
<p>内容合集</p>
|
||||
</header>
|
||||
<footer><small>Search Hub</small></footer>
|
||||
</article>
|
||||
{/case}
|
||||
{/switch}
|
||||
{/switch}
|
||||
|
||||
@@ -7,51 +7,50 @@
|
||||
{/case}
|
||||
{case value="1"}
|
||||
<section class='__PFX__-sh-e1'>
|
||||
<h1>搜索:<span class='__PFX__-k'>{$Request.get.keyword}</span></h1>
|
||||
<h1><span class='__PFX__-k'>{$Request.get.keyword}</span> 搜索结果</h1>
|
||||
<p>结果列表</p>
|
||||
<link rel='canonical' href='/' />
|
||||
</section>
|
||||
{/case}
|
||||
{case value="2"}
|
||||
<div class='__PFX__-sh-e2' role='region' aria-label='search-head'>
|
||||
<h1><em class='__PFX__-k'>{$Request.get.keyword}</em></h1>
|
||||
<h1><em class='__PFX__-k'>{$Request.get.keyword}</em> 搜索结果</h1>
|
||||
<p>搜索结果页</p>
|
||||
</div>
|
||||
{/case}
|
||||
{case value="3"}
|
||||
<header class='__PFX__-sh-e3'>
|
||||
<h1><i class='__PFX__-k'>{$Request.get.keyword}</i></h1>
|
||||
<h1><i class='__PFX__-k'>{$Request.get.keyword}</i> 搜索结果</h1>
|
||||
<p>站内搜索结果</p>
|
||||
</header>
|
||||
{/case}
|
||||
{case value="4"}
|
||||
<section class='__PFX__-sh-e4'>
|
||||
<h1><mark class='__PFX__-k'>{$Request.get.keyword}</mark> 相关内容</h1>
|
||||
<h1><mark class='__PFX__-k'>{$Request.get.keyword}</mark> 搜索结果</h1>
|
||||
<p>搜索结果</p>
|
||||
</section>
|
||||
{/case}
|
||||
{case value="5"}
|
||||
<div class='__PFX__-sh-e5'>
|
||||
<h1>“<b class='__PFX__-k'>{$Request.get.keyword}</b>”</h1>
|
||||
<h1>“<b class='__PFX__-k'>{$Request.get.keyword}</b>” 搜索结果</h1>
|
||||
<p>搜索结果列表页</p>
|
||||
</div>
|
||||
{/case}
|
||||
{case value="6"}
|
||||
<section class='__PFX__-sh-e6'>
|
||||
<h1><span class='__PFX__-k'>{$Request.get.keyword}</span></h1>
|
||||
<h1><span class='__PFX__-k'>{$Request.get.keyword}</span> 搜索结果</h1>
|
||||
<p>结果页(SEO)</p>
|
||||
<hr />
|
||||
</section>
|
||||
{/case}
|
||||
{case value="7"}
|
||||
<div class='__PFX__-sh-e7'>
|
||||
<h1>关键词:<em class='__PFX__-k'>{$Request.get.keyword}</em></h1>
|
||||
<h1><em class='__PFX__-k'>{$Request.get.keyword}</em> 搜索结果</h1>
|
||||
<p>搜索结果</p>
|
||||
</div>
|
||||
{/case}
|
||||
{case value="8"}
|
||||
<section class='__PFX__-sh-e8'>
|
||||
<h1><i class='__PFX__-k'>{$Request.get.keyword}</i></h1>
|
||||
<h1><i class='__PFX__-k'>{$Request.get.keyword}</i> 搜索结果</h1>
|
||||
<p>索引列表页</p>
|
||||
<nav aria-label='meta'><span>Search</span></nav>
|
||||
</section>
|
||||
@@ -64,27 +63,25 @@
|
||||
{/case}
|
||||
{case value="10"}
|
||||
<header class='__PFX__-sh-e10'>
|
||||
<h1>搜索结果</h1>
|
||||
<p><b class='__PFX__-k'>{$Request.get.keyword}</b></p>
|
||||
<h1><b class='__PFX__-k'>{$Request.get.keyword}</b> 搜索结果</h1>
|
||||
</header>
|
||||
{/case}
|
||||
{case value="11"}
|
||||
<section class='__PFX__-sh-e11'>
|
||||
<h1>查询词</h1>
|
||||
<p><span class='__PFX__-k'>{$Request.get.keyword}</span></p>
|
||||
<h1><span class='__PFX__-k'>{$Request.get.keyword}</span> 搜索结果</h1>
|
||||
<p>结果页</p>
|
||||
</section>
|
||||
{/case}
|
||||
{case value="12"}
|
||||
<div class='__PFX__-sh-e12'>
|
||||
<h1><em class='__PFX__-k'>{$Request.get.keyword}</em></h1>
|
||||
<h1><em class='__PFX__-k'>{$Request.get.keyword}</em> 搜索结果</h1>
|
||||
<p>聚合结果页</p>
|
||||
<p class='micro'>可抓取</p>
|
||||
</div>
|
||||
{/case}
|
||||
{case value="13"}
|
||||
<section class='__PFX__-sh-e13'>
|
||||
<h1><i class='__PFX__-k'>{$Request.get.keyword}</i></h1>
|
||||
<h1><i class='__PFX__-k'>{$Request.get.keyword}</i> 搜索结果</h1>
|
||||
<p>搜索结果目录</p>
|
||||
<dl>
|
||||
<dt>关键词</dt>
|
||||
@@ -94,7 +91,7 @@
|
||||
{/case}
|
||||
{case value="14"}
|
||||
<div class='__PFX__-sh-e14'>
|
||||
<h1><mark class='__PFX__-k'>{$Request.get.keyword}</mark></h1>
|
||||
<h1><mark class='__PFX__-k'>{$Request.get.keyword}</mark> 搜索结果</h1>
|
||||
<p>结果页</p>
|
||||
<ul>
|
||||
<li>相关</li>
|
||||
@@ -104,20 +101,20 @@
|
||||
{/case}
|
||||
{case value="15"}
|
||||
<header class='__PFX__-sh-e15'>
|
||||
<h1><b class='__PFX__-k'>{$Request.get.keyword}</b></h1>
|
||||
<h1><b class='__PFX__-k'>{$Request.get.keyword}</b> 搜索结果</h1>
|
||||
<p>搜索结果索引</p>
|
||||
<address>站内</address>
|
||||
</header>
|
||||
{/case}
|
||||
{case value="16"}
|
||||
<section class='__PFX__-sh-e16'>
|
||||
<h1><span class='__PFX__-k'>{$Request.get.keyword}</span></h1>
|
||||
<h1><span class='__PFX__-k'>{$Request.get.keyword}</span> 搜索结果</h1>
|
||||
<p>Search result page</p>
|
||||
</section>
|
||||
{/case}
|
||||
{case value="17"}
|
||||
<div class='__PFX__-sh-e17'>
|
||||
<h1><em class='__PFX__-k'>{$Request.get.keyword}</em></h1>
|
||||
<h1><em class='__PFX__-k'>{$Request.get.keyword}</em> 搜索结果</h1>
|
||||
<p>结果列表页</p>
|
||||
<details open>
|
||||
<summary>说明</summary>
|
||||
@@ -127,17 +124,17 @@
|
||||
{/case}
|
||||
{case value="18"}
|
||||
<section class='__PFX__-sh-e18'>
|
||||
<h1><i class='__PFX__-k'>{$Request.get.keyword}</i></h1>
|
||||
<h1><i class='__PFX__-k'>{$Request.get.keyword}</i> 搜索结果</h1>
|
||||
<p>站内搜索</p>
|
||||
<p class='micro'>list</p>
|
||||
</section>
|
||||
{/case}
|
||||
{case value="19"}
|
||||
<div class='__PFX__-sh-e19'>
|
||||
<h1><mark class='__PFX__-k'>{$Request.get.keyword}</mark></h1>
|
||||
<h1><mark class='__PFX__-k'>{$Request.get.keyword}</mark> 搜索结果</h1>
|
||||
<p>搜索结果</p>
|
||||
<hr />
|
||||
<p class='micro'>indexable</p>
|
||||
</div>
|
||||
{/case}
|
||||
{/switch}
|
||||
{/switch}
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
{switch $variant}
|
||||
{case value="0"}
|
||||
<section class='__PFX__-sh-s0'>
|
||||
<h1>搜索:<em class='__PFX__-k'>{$Request.get.keyword}</em></h1>
|
||||
<h1><em class='__PFX__-k'>{$Request.get.keyword}</em> 搜索结果</h1>
|
||||
</section>
|
||||
{/case}
|
||||
{case value="1"}
|
||||
<aside class='__PFX__-sh-s1'>
|
||||
<h2>搜索结果</h2>
|
||||
<p><mark class='__PFX__-k'>{$Request.get.keyword}</mark></p>
|
||||
<h1><mark class='__PFX__-k'>{$Request.get.keyword}</mark> 搜索结果</h1>
|
||||
</aside>
|
||||
{/case}
|
||||
{case value="2"}
|
||||
@@ -18,24 +17,23 @@
|
||||
{/case}
|
||||
{case value="3"}
|
||||
<div class='__PFX__-sh-s3' role='region' aria-label='search'>
|
||||
<h1><i class='__PFX__-k'>{$Request.get.keyword}</i></h1><small>结果页</small>
|
||||
<h1><i class='__PFX__-k'>{$Request.get.keyword}</i> 搜索结果</h1><small>结果页</small>
|
||||
</div>
|
||||
{/case}
|
||||
{case value="4"}
|
||||
<footer class='__PFX__-sh-s4'>
|
||||
<h1>关键词</h1>
|
||||
<p><span class='__PFX__-k'>{$Request.get.keyword}</span></p>
|
||||
<h1><span class='__PFX__-k'>{$Request.get.keyword}</span> 搜索结果</h1>
|
||||
</footer>
|
||||
{/case}
|
||||
{case value="5"}
|
||||
<section class='__PFX__-sh-s5'>
|
||||
<h1>“<em class='__PFX__-k'>{$Request.get.keyword}</em>”</h1>
|
||||
<h1>“<em class='__PFX__-k'>{$Request.get.keyword}</em>” 搜索结果</h1>
|
||||
<p>相关条目如下</p>
|
||||
</section>
|
||||
{/case}
|
||||
{case value="6"}
|
||||
<div class='__PFX__-sh-s6'>
|
||||
<h1>查询</h1>
|
||||
<h1><mark class='__PFX__-k'>{$Request.get.keyword}</mark> 搜索结果</h1>
|
||||
<ul>
|
||||
<li><mark class='__PFX__-k'>{$Request.get.keyword}</mark></li>
|
||||
</ul>
|
||||
@@ -43,49 +41,47 @@
|
||||
{/case}
|
||||
{case value="7"}
|
||||
<section class='__PFX__-sh-s7'>
|
||||
<h1>搜索结果:</h1>
|
||||
<div><b class='__PFX__-k'>{$Request.get.keyword}</b></div>
|
||||
<h1>搜索结果:<b class='__PFX__-k'>{$Request.get.keyword}</b></h1>
|
||||
</section>
|
||||
{/case}
|
||||
{case value="8"}
|
||||
<header class='__PFX__-sh-s8'>
|
||||
<p class='lead'>Search</p>
|
||||
<h1><i class='__PFX__-k'>{$Request.get.keyword}</i></h1>
|
||||
<h1><i class='__PFX__-k'>{$Request.get.keyword}</i> 搜索结果</h1>
|
||||
</header>
|
||||
{/case}
|
||||
{case value="9"}
|
||||
<section class='__PFX__-sh-s9'>
|
||||
<h1>结果:<span class='__PFX__-k'>{$Request.get.keyword}</span></h1>
|
||||
<h1><span class='__PFX__-k'>{$Request.get.keyword}</span> 搜索结果</h1>
|
||||
<p class='tip'>可尝试同义词</p>
|
||||
</section>
|
||||
{/case}
|
||||
{case value="10"}
|
||||
<div class='__PFX__-sh-s10'>
|
||||
<h1><em class='__PFX__-k'>{$Request.get.keyword}</em></h1>
|
||||
<h1><em class='__PFX__-k'>{$Request.get.keyword}</em> 搜索结果</h1>
|
||||
<p>搜索结果列表</p>
|
||||
<hr />
|
||||
</div>
|
||||
{/case}
|
||||
{case value="11"}
|
||||
<section class='__PFX__-sh-s11'>
|
||||
<h1>站内搜索</h1>
|
||||
<p>关键词:<mark class='__PFX__-k'>{$Request.get.keyword}</mark></p>
|
||||
<h1><mark class='__PFX__-k'>{$Request.get.keyword}</mark> 站内搜索结果</h1>
|
||||
</section>
|
||||
{/case}
|
||||
{case value="12"}
|
||||
<aside class='__PFX__-sh-s12'>
|
||||
<h1><b class='__PFX__-k'>{$Request.get.keyword}</b></h1>
|
||||
<h1><b class='__PFX__-k'>{$Request.get.keyword}</b> 搜索结果</h1>
|
||||
<blockquote>匹配到的内容</blockquote>
|
||||
</aside>
|
||||
{/case}
|
||||
{case value="13"}
|
||||
<section class='__PFX__-sh-s13'>
|
||||
<h1>关于 <i class='__PFX__-k'>{$Request.get.keyword}</i></h1>
|
||||
<h1>关于 <i class='__PFX__-k'>{$Request.get.keyword}</i> 的搜索结果</h1>
|
||||
</section>
|
||||
{/case}
|
||||
{case value="14"}
|
||||
<div class='__PFX__-sh-s14'>
|
||||
<h1>搜索</h1>
|
||||
<h1><span class='__PFX__-k'>{$Request.get.keyword}</span> 搜索结果</h1>
|
||||
<dl>
|
||||
<dt>关键词</dt>
|
||||
<dd><span class='__PFX__-k'>{$Request.get.keyword}</span></dd>
|
||||
@@ -94,34 +90,33 @@
|
||||
{/case}
|
||||
{case value="15"}
|
||||
<header class='__PFX__-sh-s15'>
|
||||
<h1><em class='__PFX__-k'>{$Request.get.keyword}</em></h1>
|
||||
<h1><em class='__PFX__-k'>{$Request.get.keyword}</em> 搜索结果</h1>
|
||||
<nav aria-label='meta'><a href='/' rel='nofollow'>首页</a></nav>
|
||||
</header>
|
||||
{/case}
|
||||
{case value="16"}
|
||||
<section class='__PFX__-sh-s16'>
|
||||
<h1>检索:<mark class='__PFX__-k'>{$Request.get.keyword}</mark></h1>
|
||||
<h1><mark class='__PFX__-k'>{$Request.get.keyword}</mark> 搜索结果</h1>
|
||||
<p>为你整理相关内容</p>
|
||||
</section>
|
||||
{/case}
|
||||
{case value="17"}
|
||||
<div class='__PFX__-sh-s17'>
|
||||
<h2>搜索</h2>
|
||||
<h1><b class='__PFX__-k'>{$Request.get.keyword}</b></h1>
|
||||
<h1><b class='__PFX__-k'>{$Request.get.keyword}</b> 搜索结果</h1>
|
||||
</div>
|
||||
{/case}
|
||||
{case value="18"}
|
||||
<section class='__PFX__-sh-s18'>
|
||||
<h1><i class='__PFX__-k'>{$Request.get.keyword}</i></h1>
|
||||
<h1><i class='__PFX__-k'>{$Request.get.keyword}</i> 搜索结果</h1>
|
||||
<p>结果页</p>
|
||||
<div class='bar'></div>
|
||||
</section>
|
||||
{/case}
|
||||
{case value="19"}
|
||||
<aside class='__PFX__-sh-s19'>
|
||||
<h1>查询词</h1>
|
||||
<p><span class='__PFX__-k'>{$Request.get.keyword}</span></p>
|
||||
<h1><span class='__PFX__-k'>{$Request.get.keyword}</span> 搜索结果</h1>
|
||||
<p>搜索结果</p>
|
||||
</aside>
|
||||
{/case}
|
||||
{/switch}
|
||||
{/switch}
|
||||
|
||||
@@ -50,6 +50,19 @@
|
||||
$strCurrentEpisodeName = trim((string)$arrPlayGroups[$strCurrentPlayType][$intCurrentPlayIndex - 1]['name']);
|
||||
}
|
||||
|
||||
$strPlayMainHeading = trim((string)($arrVideo['v_name'] ?? ''));
|
||||
if ($strPlayMainHeading === '') {
|
||||
$strPlayMainHeading = '当前内容';
|
||||
}
|
||||
if ($strCurrentEpisodeName !== '') {
|
||||
$strPlayMainHeading .= ' ' . $strCurrentEpisodeName;
|
||||
}
|
||||
|
||||
$strPlayHeadingMeta = trim($strCurrentPlayLine);
|
||||
if ($strPlayHeadingMeta === '') {
|
||||
$strPlayHeadingMeta = '在线播放';
|
||||
}
|
||||
|
||||
$strPlayDetailUrl = '';
|
||||
if ((int)($arrVideo['v_id'] ?? 0) > 0) {
|
||||
$strPlayDetailUrl = app(\app\services\VideoService::class)->getVideoInfoUrl(
|
||||
|
||||
@@ -99,11 +99,7 @@ class SiteContext
|
||||
*/
|
||||
public function getViewConfig(): array
|
||||
{
|
||||
$strDomain = $this->Request->rootDomain();
|
||||
|
||||
$this->DomainModel = DomainModel::getDomainOnCacheByDomain($strDomain);
|
||||
|
||||
|
||||
$this->DomainModel = $this->resolveCurrentDomainModel();
|
||||
|
||||
if (empty($this->DomainModel)) {
|
||||
throw new HttpException(404, 'Site config not Found');
|
||||
@@ -1159,8 +1155,7 @@ class SiteContext
|
||||
|
||||
public function getTemplate(): string
|
||||
{
|
||||
$strDomain = $this->Request->rootDomain();
|
||||
$this->DomainModel = DomainModel::getDomainOnCacheByDomain($strDomain);
|
||||
$this->DomainModel = $this->resolveCurrentDomainModel();
|
||||
|
||||
if (empty($this->DomainModel)) {
|
||||
throw new HttpException(404, 'Site config not Found');
|
||||
@@ -1173,6 +1168,19 @@ class SiteContext
|
||||
return $this->TemplatesModel['t_code'];
|
||||
}
|
||||
|
||||
protected function resolveCurrentDomainModel(): ?DomainModel
|
||||
{
|
||||
$strHost = (string)$this->Request->host();
|
||||
$arrResolvedDomain = DomainModel::resolveDomainContextByHost($strHost);
|
||||
$RuntimeDomainModel = $arrResolvedDomain['runtime'] ?? null;
|
||||
if ($RuntimeDomainModel instanceof DomainModel) {
|
||||
return $RuntimeDomainModel;
|
||||
}
|
||||
|
||||
$strDomain = (string)$this->Request->rootDomain();
|
||||
return DomainModel::getDomainOnCacheByDomain($strDomain);
|
||||
}
|
||||
|
||||
public function getPinlunData(int $intVideoId): array
|
||||
{
|
||||
$strDomain = $this->DomainModel->d_domain ?? request()->domain();
|
||||
|
||||
@@ -887,13 +887,21 @@ class VideoService
|
||||
$intVId = (int)$intVId;
|
||||
$intVForgeId = $intVForgeId === null ? -1 : (int)$intVForgeId;
|
||||
$strPinyin = trim((string)$strPinyin);
|
||||
$boolRequirePlayable = (string)request()->route('strPlayType') !== '' || (int)request()->route('intPlayIndex') > 0;
|
||||
|
||||
if ($intVId > 0) {
|
||||
return $this->getVideoByVId($intVId, $intVForgeId);
|
||||
}
|
||||
|
||||
if ($strPinyin !== '') {
|
||||
$arrVideo = $this->VideoModel->getVideoByNameEn($strPinyin);
|
||||
foreach ($this->normalizeRouteSlugCandidates($strPinyin) as $strSlugCandidate) {
|
||||
$arrVideo = $this->VideoModel->getVideoByNameEn($strSlugCandidate);
|
||||
if (!empty($arrVideo)) {
|
||||
return $this->hydrateResolvedVideo($arrVideo, (int)($arrVideo['v_id'] ?? 0), $intVForgeId);
|
||||
}
|
||||
}
|
||||
|
||||
$arrVideo = $this->resolveFallbackVideoBySlug($strPinyin, $boolRequirePlayable);
|
||||
if (!empty($arrVideo)) {
|
||||
return $this->hydrateResolvedVideo($arrVideo, (int)($arrVideo['v_id'] ?? 0), $intVForgeId);
|
||||
}
|
||||
@@ -902,11 +910,81 @@ class VideoService
|
||||
return $this->getVideoByVId($intVId, $intVForgeId);
|
||||
}
|
||||
|
||||
protected function normalizeRouteSlugCandidates(string $strPinyin): array
|
||||
{
|
||||
$strPinyin = strtolower(trim($strPinyin));
|
||||
if ($strPinyin === '') {
|
||||
return [];
|
||||
}
|
||||
|
||||
$arrCandidates = [$strPinyin];
|
||||
|
||||
if (str_starts_with($strPinyin, 'pinyin-')) {
|
||||
$arrCandidates[] = substr($strPinyin, 7);
|
||||
}
|
||||
|
||||
$arrNormalized = [];
|
||||
foreach ($arrCandidates as $candidate) {
|
||||
$candidate = trim((string)$candidate, "- \t\n\r\0\x0B");
|
||||
if ($candidate === '') {
|
||||
continue;
|
||||
}
|
||||
$arrNormalized[$candidate] = $candidate;
|
||||
}
|
||||
|
||||
return array_values($arrNormalized);
|
||||
}
|
||||
|
||||
protected function resolveFallbackVideoBySlug(string $requestedSlug, bool $requirePlayable = false): ?array
|
||||
{
|
||||
$arrCandidates = $this->normalizeRouteSlugCandidates($requestedSlug);
|
||||
if (empty($arrCandidates)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
$strHost = (string)($this->SiteContext->DomainModel->d_domain ?? 'default');
|
||||
$arrBindings = $this->readFallbackBindings($strHost);
|
||||
|
||||
foreach ($arrCandidates as $strSlugCandidate) {
|
||||
$strBindingKey = 'slug:' . $strSlugCandidate;
|
||||
$boundVId = (int)($arrBindings[$strBindingKey] ?? 0);
|
||||
|
||||
if ($boundVId > 0) {
|
||||
$arrVideo = $this->VideoModel->getVideoByVId($boundVId);
|
||||
if (!empty($arrVideo) && (!$requirePlayable || $this->hasPlayableSource($arrVideo))) {
|
||||
$arrVideo['_fallback_reason'] = 'bound_slug_video';
|
||||
$arrVideo['_requested_slug'] = $requestedSlug;
|
||||
return $arrVideo;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$arrVideo = $this->resolveFallbackVideoByRequest(0, $requirePlayable);
|
||||
if (empty($arrVideo)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
$intResolvedVId = (int)($arrVideo['v_id'] ?? 0);
|
||||
if ($intResolvedVId <= 0) {
|
||||
return null;
|
||||
}
|
||||
|
||||
foreach ($arrCandidates as $strSlugCandidate) {
|
||||
$arrBindings['slug:' . $strSlugCandidate] = $intResolvedVId;
|
||||
}
|
||||
$this->writeFallbackBindings($strHost, $arrBindings);
|
||||
|
||||
$arrVideo['_fallback_reason'] = 'random_slug_video';
|
||||
$arrVideo['_requested_slug'] = $requestedSlug;
|
||||
return $arrVideo;
|
||||
}
|
||||
|
||||
protected function resolveFallbackVideoByRequest(int $requestedVId, bool $requirePlayable = false): ?array
|
||||
{
|
||||
$strHost = (string)($this->SiteContext->DomainModel->d_domain ?? 'default');
|
||||
$arrBindings = $this->readFallbackBindings($strHost);
|
||||
$strBindingKey = (string)$requestedVId;
|
||||
$boolPersistBinding = $requestedVId > 0;
|
||||
$strBindingKey = $boolPersistBinding ? (string)$requestedVId : '';
|
||||
|
||||
$this->debugFallbackProbe('enter_resolve_fallback', [
|
||||
'requested_v_id' => $requestedVId,
|
||||
@@ -915,7 +993,7 @@ class VideoService
|
||||
'existing_bindings' => count($arrBindings),
|
||||
]);
|
||||
|
||||
$boundVId = (int)($arrBindings[$strBindingKey] ?? 0);
|
||||
$boundVId = $boolPersistBinding ? (int)($arrBindings[$strBindingKey] ?? 0) : 0;
|
||||
if ($boundVId > 0 && $boundVId !== $requestedVId) {
|
||||
$arrVideo = $this->VideoModel->getVideoByVId($boundVId);
|
||||
if (!empty($arrVideo) && (!$requirePlayable || $this->hasPlayableSource($arrVideo))) {
|
||||
@@ -964,8 +1042,10 @@ class VideoService
|
||||
continue;
|
||||
}
|
||||
|
||||
$arrBindings[$strBindingKey] = $candidateId;
|
||||
$this->writeFallbackBindings($strHost, $arrBindings);
|
||||
if ($boolPersistBinding) {
|
||||
$arrBindings[$strBindingKey] = $candidateId;
|
||||
$this->writeFallbackBindings($strHost, $arrBindings);
|
||||
}
|
||||
$this->debugFallbackProbe('sample_success', [
|
||||
'requested_v_id' => $requestedVId,
|
||||
'candidate_v_id' => $candidateId,
|
||||
@@ -982,8 +1062,10 @@ class VideoService
|
||||
if (!empty($arrVideo)) {
|
||||
$candidateId = (int)($arrVideo['v_id'] ?? 0);
|
||||
if ($candidateId > 0 && $candidateId !== $requestedVId) {
|
||||
$arrBindings[$strBindingKey] = $candidateId;
|
||||
$this->writeFallbackBindings($strHost, $arrBindings);
|
||||
if ($boolPersistBinding) {
|
||||
$arrBindings[$strBindingKey] = $candidateId;
|
||||
$this->writeFallbackBindings($strHost, $arrBindings);
|
||||
}
|
||||
$this->debugFallbackProbe('ordered_fallback_success', [
|
||||
'requested_v_id' => $requestedVId,
|
||||
'candidate_v_id' => $candidateId,
|
||||
|
||||
@@ -111,7 +111,7 @@ class SiteMapLogic
|
||||
|
||||
$strDomainDir = $this->strSiteMapPath . $DomainModel->d_domain;
|
||||
if (is_dir($strDomainDir) == false) {
|
||||
mkdir($strDomainDir);
|
||||
mkdir($strDomainDir, 0777, true);
|
||||
}
|
||||
|
||||
$strHead = <<<EOF
|
||||
@@ -262,7 +262,7 @@ EOF;
|
||||
|
||||
$strDomainDir = $this->strSiteMapPath . $DomainModel->d_domain;
|
||||
if (is_dir($strDomainDir) == false) {
|
||||
mkdir($strDomainDir);
|
||||
mkdir($strDomainDir, 0777, true);
|
||||
}
|
||||
|
||||
$strMapIndexFile = $strDomainDir . '/sitemap-main.xml';
|
||||
|
||||
@@ -127,6 +127,25 @@ class VideoSiteMapLogic
|
||||
|
||||
echo date('Y-m-d H:i:s') . PHP_EOL;
|
||||
}
|
||||
|
||||
protected function normalizeVideoSlug($Video): string
|
||||
{
|
||||
$strSlug = trim((string)($Video->v_name_en ?? ''));
|
||||
if ($strSlug !== '') {
|
||||
return $strSlug;
|
||||
}
|
||||
|
||||
$strName = trim((string)($Video->v_name ?? ''));
|
||||
if ($strName === '') {
|
||||
return 'video';
|
||||
}
|
||||
|
||||
$strSlug = mb_strtolower($strName, 'UTF-8');
|
||||
$strSlug = preg_replace('/[^\\p{L}\\p{N}]+/u', '-', $strSlug);
|
||||
$strSlug = trim((string)$strSlug, '-');
|
||||
|
||||
return $strSlug !== '' ? $strSlug : 'video';
|
||||
}
|
||||
/**
|
||||
* Generate Site Map
|
||||
*
|
||||
@@ -140,7 +159,7 @@ class VideoSiteMapLogic
|
||||
|
||||
$strDomainDir = $this->strSiteMapPath . $DomainModel->d_domain;
|
||||
if (is_dir($strDomainDir) == false) {
|
||||
mkdir($strDomainDir);
|
||||
mkdir($strDomainDir, 0777, true);
|
||||
}
|
||||
|
||||
// 通过域名获取对应的模板
|
||||
@@ -181,6 +200,7 @@ EOF;
|
||||
# 取 intpage * limit ~ intpage * (limit+1) 写入以上文件
|
||||
|
||||
foreach ($this->fetchVideosByBatch($intStart, $this->intPageSize) as $Video) {
|
||||
$strSlug = $this->normalizeVideoSlug($Video);
|
||||
|
||||
# 1 '/voddetail/{strPinYin}-{intVId}',
|
||||
$strKey = "VIDEO_INFO_URL";
|
||||
@@ -189,8 +209,8 @@ EOF;
|
||||
$strAction = "";
|
||||
$arrArgs = [
|
||||
'intVId' => $Video->v_id,
|
||||
'strPinYin' => '',
|
||||
'strPinyin' => '',
|
||||
'strPinYin' => $strSlug,
|
||||
'strPinyin' => $strSlug,
|
||||
];
|
||||
|
||||
if ($arrUrlFamily && !empty($arrUrlFamily)) {
|
||||
@@ -272,7 +292,7 @@ $arrUrlPool = [];
|
||||
|
||||
$strDomainDir = $this->strSiteMapPath . $DomainModel->d_domain;
|
||||
if (is_dir($strDomainDir) == false) {
|
||||
mkdir($strDomainDir);
|
||||
mkdir($strDomainDir, 0777, true);
|
||||
}
|
||||
$strMapIndexFile = $strDomainDir . '/sitemap-main.xml';
|
||||
|
||||
@@ -600,10 +620,11 @@ EOF;
|
||||
$isFirst = true;
|
||||
|
||||
foreach ($this->fetchVideosByBatch($intStart, $this->intPageSize) as $Video) {
|
||||
$strSlug = $this->normalizeVideoSlug($Video);
|
||||
$arrArgs = [
|
||||
'intVId' => $Video->v_id,
|
||||
'strPinyin' => $Video->v_name_en,
|
||||
'strPinYin' => $Video->v_name_en,
|
||||
'strPinyin' => $strSlug,
|
||||
'strPinYin' => $strSlug,
|
||||
];
|
||||
if ($arrUrlFamily && !empty($arrUrlFamily)) {
|
||||
|
||||
|
||||
@@ -163,3 +163,344 @@
|
||||
3. 排障先看响应头,不要先怀疑代码
|
||||
4. `sogou` 恢复已拿到真实深页 `200` 样本
|
||||
5. 日志摘要读取已经换字段,不能再只看 `by_bot`
|
||||
|
||||
## 8. 详情页 slug-only 404 修复
|
||||
|
||||
`2026-04-17` 已补一轮详情页历史坏链接兜底,重点针对:
|
||||
|
||||
1. `/detail/pinyin-xxx`
|
||||
2. `/detail/xxx`
|
||||
3. 没有 `id`、只有 slug 的旧外链或旧 sitemap 残留
|
||||
|
||||
当前修复口径:
|
||||
|
||||
1. 路由层补放行,不再让这类 URL 直接死在路由 404
|
||||
2. 服务层会先做 slug 归一化:
|
||||
- 例如把 `pinyin-se-ji-shi-kong-yuan-sheng-ban` 继续尝试成 `se-ji-shi-kong-yuan-sheng-ban`
|
||||
3. 如果库里仍查不到对应 slug:
|
||||
- 不直接 404
|
||||
- 按域名做稳定随机绑定,后续同 slug 重复访问会尽量落到同一个视频
|
||||
|
||||
这条规则的目标不是“技术上兼容一下”,而是:
|
||||
|
||||
1. 先把历史坏入口从 404 池里移出来
|
||||
2. 降低蜘蛛撞到硬 404 的概率
|
||||
3. 给后续 7 日收录和首页词冲量留入口
|
||||
## 2026-04-17 线上补修:`liangzuan.net` 域名恢复、无 id 详情兜底、HEAD 兼容修复
|
||||
|
||||
### 现象
|
||||
|
||||
- `liangzuan.net` 整站一度出现首页、分类、详情、播放、搜索全部 404。
|
||||
- 用户重点反馈这类 URL 不允许再 404:
|
||||
- `https://www.liangzuan.net/detail/pinyin-se-ji-shi-kong-yuan-sheng-ban`
|
||||
- 同时线上探测发现一个隐蔽问题:
|
||||
- 浏览器 `GET` 可以打开的深层详情页,`HEAD` 请求仍然返回 404。
|
||||
- 这会导致监控、探测器、部分抓取链路把页面误判为失效。
|
||||
|
||||
### 根因
|
||||
|
||||
#### 1. 站点域名配置丢失
|
||||
|
||||
- 数据库 `domain` 表中,`liangzuan.net` 记录已经消失。
|
||||
- 这不是模板渲染问题,而是域名上下文直接丢了,导致整站路由命中后仍无法正确解析站点配置。
|
||||
|
||||
#### 2. 站点上下文仍走旧域名解析方式
|
||||
|
||||
- `SiteContext` 里部分逻辑还在用旧的:
|
||||
- `rootDomain()`
|
||||
- `DomainModel::getDomainOnCacheByDomain(...)`
|
||||
- 对 `www`、裸域、运行时 host 的兼容不够稳。
|
||||
|
||||
#### 3. GPT 模板路由只注册了 `GET`
|
||||
|
||||
- 详情页、播放页、历史兼容深链都能被浏览器正常访问。
|
||||
- 但 `HEAD` 请求没有命中路由,所以会直接落到 404。
|
||||
|
||||
### 已完成修复
|
||||
|
||||
#### 1. 恢复 `liangzuan.net` 域名记录
|
||||
|
||||
- 基于历史 bootstrap 包重新注册域名。
|
||||
- 重新绑定模板 `videoGpt1`。
|
||||
- 重新应用该域名的 SEO bootstrap 配置。
|
||||
|
||||
结果:
|
||||
|
||||
- 站点首页重新恢复 `200`。
|
||||
- 域名上下文重新可用。
|
||||
|
||||
#### 2. 修复 `SiteContext` 域名解析
|
||||
|
||||
文件:
|
||||
|
||||
- `/www/wwwroot/diff-maccms/SEONexus/code/app/services/SiteContext.php`
|
||||
|
||||
调整:
|
||||
|
||||
- `getViewConfig()` 和 `getTemplate()` 改为优先使用 `DomainModel::resolveDomainContextByHost(...)`
|
||||
- 对当前请求 host 做运行时解析
|
||||
- 旧缓存解析方式保留为兜底
|
||||
|
||||
效果:
|
||||
|
||||
- 裸域、`www`、运行时 host 命中更稳
|
||||
- 不再因为旧解析链导致模板/站点配置取错
|
||||
|
||||
#### 3. 修复“无 id 的详情页”兜底策略
|
||||
|
||||
文件:
|
||||
|
||||
- `/www/wwwroot/diff-maccms/SEONexus/code/app/services/VideoService.php`
|
||||
- `/www/wwwroot/diff-maccms/SEONexus/code/app/home/config/router.php`
|
||||
|
||||
调整:
|
||||
|
||||
- 详情路由支持仅 slug 访问
|
||||
- 支持 `pinyin-` 前缀 slug 归一化
|
||||
- 当 URL 不带 id、数据库没有直接匹配记录时,进入稳定兜底绑定
|
||||
- 避免再因 `requestedVId = 0` 写入错误绑定
|
||||
|
||||
效果:
|
||||
|
||||
- `detail/pinyin-...` 这类旧深链不再直接 404
|
||||
- 即使缺少 id,也会落到可展示的详情内容
|
||||
|
||||
#### 4. 修复 GPT 模板深链 `HEAD` 返回 404
|
||||
|
||||
文件:
|
||||
|
||||
- `/www/wwwroot/diff-maccms/SEONexus/code/app/home/config/router.php`
|
||||
|
||||
调整:
|
||||
|
||||
- 在 `videoGpt1` 分支新增统一注册器:
|
||||
- `Route::rule(..., 'GET|HEAD')`
|
||||
- 公共路由与冻结 family 路由统一支持 `GET` 和 `HEAD`
|
||||
- 历史兼容深链注册器也一起继承该行为
|
||||
|
||||
效果:
|
||||
|
||||
- 之前 `GET=200 / HEAD=404` 的详情深链,现在两者都为 `200`
|
||||
|
||||
### 线上复测结果
|
||||
|
||||
#### 1. 无 id 详情页
|
||||
|
||||
- `GET https://www.liangzuan.net/detail/pinyin-se-ji-shi-kong-yuan-sheng-ban`
|
||||
- 已返回 `200`
|
||||
|
||||
#### 2. 常规详情页
|
||||
|
||||
- `GET https://www.liangzuan.net/film/sheng-dan-bu-du-xing-meng-fei-si-lian-qu/154124`
|
||||
- 已返回 `200`
|
||||
|
||||
#### 3. 深链 `HEAD` 探测
|
||||
|
||||
- `HEAD https://www.liangzuan.net/detail/pinyin-se-ji-shi-kong-yuan-sheng-ban`
|
||||
- 已返回 `200`
|
||||
|
||||
- `HEAD https://www.liangzuan.net/film/sheng-dan-bu-du-xing-meng-fei-si-lian-qu/154124`
|
||||
- 已返回 `200`
|
||||
|
||||
### 对 7 日收录目标的直接价值
|
||||
|
||||
- 站点不再因为域名配置丢失而整站失活
|
||||
- 旧深链、无 id 深链、历史兼容详情页不再轻易 404
|
||||
- 抓取探针和监控不会再把可访问详情页误判为失效页
|
||||
- 这一步属于收录链路里的基础设施修复,已经把“入口级拦路虎”清掉了
|
||||
|
||||
### 下一阶段建议主线
|
||||
|
||||
1. 批量扫描 GPT 模板所有详情/播放/分类深链,清理剩余 404 模式。
|
||||
2. 针对 `/detail/pinyin-*`、`/film/*`、`/play/*` 输出结构化 URL 巡检报表。
|
||||
3. 补做站群级 sitemap、robots、内链入口一致性检查,优先服务 7 日收录目标。
|
||||
|
||||
## 2026-04-17 站群收录入口补修:Sitemap 统一恢复
|
||||
|
||||
### 扫描发现
|
||||
|
||||
- GPT 站群首页和 `robots.txt` 普遍可访问。
|
||||
- 但多站点 `sitemap.xml`、`sitemap_index.xml`、`sitemap-main.xml`、`sitemap-videos-1.xml` 统一返回 404。
|
||||
- 模板页脚和 `robots.txt` 实际都在输出:
|
||||
- `/sitemap_index.xml`
|
||||
- 这意味着蜘蛛会被主动引导到 404 的 XML 入口,直接拖累 7 日收录目标。
|
||||
|
||||
### 深层根因
|
||||
|
||||
#### 1. 标准 sitemap 入口缺少显式兼容
|
||||
|
||||
文件:
|
||||
|
||||
- `/www/wwwroot/diff-maccms/SEONexus/code/app/home/config/router.php`
|
||||
|
||||
处理:
|
||||
|
||||
- 补了以下标准入口兼容:
|
||||
- `/sitemap.xml`
|
||||
- `/sitemap_index.xml`
|
||||
- `/sitemap-main.xml`
|
||||
- `/sitemap-videos-:page.xml`
|
||||
|
||||
#### 2. 生成目录缺失导致 sitemap 任务直接失败
|
||||
|
||||
文件:
|
||||
|
||||
- `/www/wwwroot/diff-maccms/SEONexus/code/app/task/logic/VideoSiteMapLogic.php`
|
||||
- `/www/wwwroot/diff-maccms/SEONexus/code/app/task/logic/SiteMapLogic.php`
|
||||
|
||||
问题:
|
||||
|
||||
- `storage/SiteMap/` 目录当时不存在
|
||||
- 逻辑里仅 `mkdir($strDomainDir)`,不会递归创建父目录
|
||||
- 所以首次生成会直接报错,整个 XML 文件链路断掉
|
||||
|
||||
修复:
|
||||
|
||||
- 改为 `mkdir($strDomainDir, 0777, true)`
|
||||
|
||||
### 已完成验证
|
||||
|
||||
#### liangzuan.net
|
||||
|
||||
- `https://www.liangzuan.net/sitemap_index.xml` => 200
|
||||
- `https://www.liangzuan.net/sitemap-main.xml` => 200
|
||||
- `https://www.liangzuan.net/sitemap-videos-1.xml` => 200
|
||||
|
||||
#### chuanjiafeng.net
|
||||
|
||||
- `https://www.chuanjiafeng.net/sitemap_index.xml` => 200
|
||||
|
||||
### 当前执行状态
|
||||
|
||||
- 已启动 GPT 站群全量 `VideoSiteMap` 生成任务
|
||||
- 任务正在逐域名落盘:
|
||||
- `storage/SiteMap/<domain>/sitemap_index.xml`
|
||||
- `storage/SiteMap/<domain>/sitemap-main.xml`
|
||||
- `storage/SiteMap/<domain>/sitemap-videos-*.xml`
|
||||
- `storage/SiteMap/<domain>/video-list-*.json`
|
||||
|
||||
### 对 7 日收录目标的价值
|
||||
|
||||
- 站群不再把蜘蛛导向失效的 XML 入口
|
||||
- 每个域名开始具备可提交、可抓取、可扩展的视频 XML 分页
|
||||
- 这一步是“收录入口层”的关键修复,优先级非常高
|
||||
|
||||
### 二次修正:sitemap 详情 URL 空 slug 问题
|
||||
|
||||
在恢复 XML 后继续抽检时,又发现一类会伤收录质量的问题:
|
||||
|
||||
- 部分 `sitemap-videos-1.xml` 中详情链接出现空 slug
|
||||
- 例如:
|
||||
- `/film//210`
|
||||
- `/detail/-210`
|
||||
|
||||
根因:
|
||||
|
||||
- `VideoSiteMapLogic` 直接用 `v_name_en` 生成详情 URL
|
||||
- 但部分视频数据的 `v_name_en` 为空
|
||||
|
||||
修复:
|
||||
|
||||
- 在 `VideoSiteMapLogic` 内新增 `normalizeVideoSlug(...)`
|
||||
- 优先使用 `v_name_en`
|
||||
- 若为空,则回退到 `v_name`
|
||||
- 再做稳定 slug 归一化,保证至少输出可抓取的详情路径
|
||||
|
||||
修复后抽样结果:
|
||||
|
||||
- `https://www.liangzuan.net/film/wei-xian-de-fei-pang/210` => GET 200 / HEAD 200
|
||||
- `https://www.cnzhenbang.com/detail/wei-xian-de-fei-pang-210` => GET 200 / HEAD 200
|
||||
- `https://www.liangzuan.net/film/mo-li-mei/213` => GET 200 / HEAD 200
|
||||
- `https://www.cnzhenbang.com/detail/mo-li-mei-213` => GET 200 / HEAD 200
|
||||
|
||||
### 轨迹探针验收:5 个 GPT 站首页→搜索→详情→播放全通过
|
||||
|
||||
已使用自动样本发现 + 轨迹探针,对以下 5 个站做真实链路验收:
|
||||
|
||||
- `liangzuan.net`
|
||||
- `cnzhenbang.com`
|
||||
- `codohealth.com`
|
||||
- `jingxifa.com`
|
||||
- `gz-yxsw.com`
|
||||
|
||||
结果:
|
||||
|
||||
- 首页:全部 `200`
|
||||
- 搜索:全部 `200`
|
||||
- 详情:全部 `200`
|
||||
- 播放:全部 `200`
|
||||
- `all_passed = 1`
|
||||
|
||||
这说明当前 GPT 站群至少在抽样层面,已经不是“只有 sitemap 文件可用”,而是“收录入口 -> 搜索承接 -> 详情页 -> 播放页”这一条真实访问链路可用。
|
||||
|
||||
### 扩样验收:15 个 GPT 站真实链路全通过
|
||||
|
||||
在 5 个样板站通过后,继续扩样到 15 个 GPT 域名:
|
||||
|
||||
- `liangzuan.net`
|
||||
- `cnzhenbang.com`
|
||||
- `codohealth.com`
|
||||
- `jingxifa.com`
|
||||
- `gz-yxsw.com`
|
||||
- `glae.cc`
|
||||
- `gxhongzhuang.com`
|
||||
- `jpjdxs.com`
|
||||
- `jxxgygy.com`
|
||||
- `lcdchq.com`
|
||||
- `leici1940.com`
|
||||
- `lgyz.net`
|
||||
- `oronorent.com`
|
||||
- `pcslcl.com`
|
||||
- `sdxtwnc.com`
|
||||
|
||||
结果:
|
||||
|
||||
- 自动样本发现全部 `sample_status=passed`
|
||||
- 15 站首页全部 `200`
|
||||
- 15 站搜索页全部 `200`
|
||||
- 15 站详情页全部 `200`
|
||||
- 15 站播放页全部 `200`
|
||||
- 15 站 `all_passed=1`
|
||||
|
||||
说明:
|
||||
|
||||
- 当前 GPT 站群的主链路并不是零星恢复,而是已经具备批量稳定性
|
||||
- URL family 虽然各不相同,但都已经通过真实轨迹验收
|
||||
|
||||
### 搜索页 H1 二次收口
|
||||
|
||||
在搜索链路复查时,又发现一类“可访问但不够强 SEO”的问题:
|
||||
|
||||
- 部分搜索页虽然已返回 `200`
|
||||
- 但 `h1` 只输出裸关键词,或输出“相关内容 / 查询词 / 结果页”这类弱意图标题
|
||||
- 这会削弱搜索页对关键词与搜索意图的直接承接,不利于收录页稳定识别
|
||||
|
||||
本轮已统一修正 `videoGpt1` 搜索头模板:
|
||||
|
||||
- `app/home/view/videoGpt1/module/search/search_header_simple.html`
|
||||
- `app/home/view/videoGpt1/module/search/search_header_seo.html`
|
||||
- `app/home/view/videoGpt1/module/search/search_header_rich.html`
|
||||
- `app/home/view/videoGpt1/module/search/search_header_centered.html`
|
||||
|
||||
修正原则:
|
||||
|
||||
- 搜索页 `h1` 不再只显示裸关键词
|
||||
- 搜索页 `h1` 不再只显示“搜索结果 / 查询词 / 站内搜索 / 相关内容”这类空壳文案
|
||||
- 统一改为“关键词 + 搜索结果 / 搜索意图词”的可索引表达
|
||||
|
||||
线上 `?__nocache=1` 抽样结果:
|
||||
|
||||
- `https://www.liangzuan.net/get/index?keyword=liangzuan.net&__nocache=1`
|
||||
- `h1 => “liangzuan.net” 搜索结果`
|
||||
- `https://www.cnzhenbang.com/query?keyword=菜鸟臻榜&__nocache=1`
|
||||
- `h1 => 菜鸟臻榜 搜索结果`
|
||||
- `https://www.jingxifa.com/get-index?keyword=京淅发影院&__nocache=1`
|
||||
- `h1 => 京淅发影院 搜索结果`
|
||||
|
||||
附带确认:
|
||||
|
||||
- 各域名搜索入口并不统一,不能用单一 `/search?keyword=` 判断线上是否异常
|
||||
- 当前已确认示例:
|
||||
- `liangzuan.net => /get/index?keyword=...`
|
||||
- `cnzhenbang.com => /query?keyword=...`
|
||||
- `jingxifa.com => /get-index?keyword=...`
|
||||
|
||||
301
docs/2026-04-18-7天推收录执行主线.md
Normal file
301
docs/2026-04-18-7天推收录执行主线.md
Normal file
@@ -0,0 +1,301 @@
|
||||
# 2026-04-18 7天推收录执行主线
|
||||
|
||||
这份文档用于把当前 GPT 站群从“基础修复完成”推进到“7 天内尽快拿到收录、回访、真实流量”。
|
||||
|
||||
适用场景:
|
||||
|
||||
1. 需要一个总控文档,统一安排 `15` 个优先域名的推收录动作
|
||||
2. 多个 Codex / 多个人同时推进时,需要明确主线和分工
|
||||
3. 每天要复盘“今天做了什么、蜘蛛有没有回访、下一步该做什么”
|
||||
|
||||
## 1. 当前阶段判断
|
||||
|
||||
当前不是继续大面积找基础 Bug 的阶段,而是进入下面这条主线:
|
||||
|
||||
1. 保住已经修好的链路
|
||||
2. 把 `sitemap -> search -> detail -> play` 的抓取链路跑起来
|
||||
3. 减少硬 `404`
|
||||
4. 处理缓存滞后站,避免蜘蛛反复吃旧 HTML
|
||||
5. 用前 `7` 天拿到第一批收录和真实点击样本
|
||||
|
||||
## 2. 本轮主目标
|
||||
|
||||
### 7 天目标
|
||||
|
||||
1. `15` 个优先域名全部完成 sitemap 推送与首轮复查
|
||||
2. 重点站先拿到蜘蛛对 sitemap、search、detail、play 的真实回访
|
||||
3. 已知旧坏链尽量不再硬 `404`
|
||||
4. 缓存滞后站完成清缓存并复查
|
||||
5. 至少拿到一批首页词 / 品牌词 / 影片长尾词的收录样本
|
||||
|
||||
### 成功判断标准
|
||||
|
||||
只要出现下面任一类信号,就说明主线在向前走:
|
||||
|
||||
1. `sitemap_index.xml` 被搜索引擎蜘蛛访问
|
||||
2. `sitemap-main.xml` / `sitemap-videos-*.xml` 被抓
|
||||
3. 搜索页出现蜘蛛命中
|
||||
4. 详情页出现蜘蛛重复回访
|
||||
5. 播放页开始出现命中
|
||||
6. 搜索引擎站长平台开始显示已发现、已抓取或已收录
|
||||
7. 站点开始出现真实自然搜索点击
|
||||
|
||||
## 3. 当前优先域名
|
||||
|
||||
### A组 6 站
|
||||
|
||||
1. `liangzuan.net`
|
||||
2. `cnzhenbang.com`
|
||||
3. `codohealth.com`
|
||||
4. `jingxifa.com`
|
||||
5. `gz-yxsw.com`
|
||||
6. `glae.cc`
|
||||
|
||||
### B组 9 站
|
||||
|
||||
1. `gxhongzhuang.com`
|
||||
2. `jpjdxs.com`
|
||||
3. `jxxgygy.com`
|
||||
4. `lcdchq.com`
|
||||
5. `leici1940.com`
|
||||
6. `lgyz.net`
|
||||
7. `oronorent.com`
|
||||
8. `pcslcl.com`
|
||||
9. `sdxtwnc.com`
|
||||
|
||||
## 4. 当前已知确定事项
|
||||
|
||||
### 已完成的基础修复
|
||||
|
||||
1. slug-only 详情页不再直接硬死在 `404`
|
||||
2. `HEAD` 深链兼容已补
|
||||
3. sitemap 主入口和视频分页已恢复
|
||||
4. sitemap 空 slug 问题已修复
|
||||
5. 搜索页 `h1` 已补强
|
||||
6. 播放页 `h1` 已补强
|
||||
7. `15` 站抽样:首页、搜索、详情、播放主链路已通过
|
||||
|
||||
### 当前仍要优先处理的站点问题
|
||||
|
||||
以下更像缓存滞后,不是代码未生效:
|
||||
|
||||
1. `jingxifa.com`
|
||||
2. `lcdchq.com`
|
||||
3. `cnzhenbang.com`
|
||||
4. `oronorent.com`
|
||||
|
||||
处理原则:
|
||||
|
||||
1. 先用 `?__nocache=1` 确认新 HTML 已生效
|
||||
2. 如果 `?__nocache=1` 正常而普通访问异常,优先清前端缓存
|
||||
3. 不要先重复改模板
|
||||
|
||||
## 5. 7 天执行节奏
|
||||
|
||||
### Day 1
|
||||
|
||||
目标:
|
||||
|
||||
1. 完成 `15` 站 sitemap 提交
|
||||
2. 完成 `A/B` 两组执行文档建档
|
||||
3. 完成缓存滞后站清单确认
|
||||
|
||||
动作:
|
||||
|
||||
1. 提交每个域名的:
|
||||
- `/sitemap.xml`
|
||||
- `/sitemap_index.xml`
|
||||
- `/sitemap-main.xml`
|
||||
2. 记录是否已在站长平台手动提交
|
||||
3. 记录是否已 ping 或主动推送
|
||||
4. 先做 A 组首轮观察
|
||||
|
||||
### Day 2
|
||||
|
||||
目标:
|
||||
|
||||
1. 看 sitemap 是否被抓
|
||||
2. 看首页、搜索页是否开始被蜘蛛回访
|
||||
|
||||
动作:
|
||||
|
||||
1. 拉取 `A组6站` 日志
|
||||
2. 重点看:
|
||||
- `sitemap`
|
||||
- `search`
|
||||
- `detail`
|
||||
3. 把正向样本写回 A 组文档
|
||||
4. 对缓存滞后站做普通访问和 `?__nocache=1` 对照
|
||||
|
||||
### Day 3
|
||||
|
||||
目标:
|
||||
|
||||
1. 看 B 组是否开始跟上
|
||||
2. 看是否出现 `sitemap -> detail` 链路
|
||||
|
||||
动作:
|
||||
|
||||
1. 拉取 `B组9站` 日志
|
||||
2. 标出各域名是否已有详情页命中
|
||||
3. 如果某些站只有首页抓取,没有深页抓取:
|
||||
- 优先检查 sitemap
|
||||
- 再检查 canonical
|
||||
- 再检查页面标题表达
|
||||
|
||||
### Day 4
|
||||
|
||||
目标:
|
||||
|
||||
1. 扩大详情页回访
|
||||
2. 争取出现播放页命中
|
||||
|
||||
动作:
|
||||
|
||||
1. 检查真实被抓详情页是否返回 `200`
|
||||
2. 检查播放页主标题、canonical 是否稳定
|
||||
3. 统计旧坏链是否仍在高频触发
|
||||
4. 若某站旧 `404` 仍多,单独建风险项
|
||||
|
||||
### Day 5
|
||||
|
||||
目标:
|
||||
|
||||
1. 看是否出现第一批收录
|
||||
2. 看是否出现品牌词 / 域名词曝光
|
||||
|
||||
动作:
|
||||
|
||||
1. 复查站长平台收录状态
|
||||
2. 记录已抓取、已发现、已收录页面数
|
||||
3. 抽查 `site:域名` 与主品牌词
|
||||
4. 若已有收录样本,单独列为正向案例
|
||||
|
||||
### Day 6
|
||||
|
||||
目标:
|
||||
|
||||
1. 补强弱站
|
||||
2. 对没有动静的站做二次推进
|
||||
|
||||
动作:
|
||||
|
||||
1. 优先处理:
|
||||
- sitemap 无抓取
|
||||
- 只有首页无深页
|
||||
- 普通访问仍旧 HTML
|
||||
2. 对弱站再做一次:
|
||||
- sitemap 提交
|
||||
- 缓存复核
|
||||
- 关键页抽检
|
||||
|
||||
### Day 7
|
||||
|
||||
目标:
|
||||
|
||||
1. 汇总第一周结果
|
||||
2. 定出第二周继续推进名单
|
||||
|
||||
动作:
|
||||
|
||||
1. 汇总 A/B 组实际表现
|
||||
2. 把域名分成:
|
||||
- 已出现明显回访
|
||||
- 已抓未深挖
|
||||
- 仍需重点救火
|
||||
3. 输出第二周优先级
|
||||
|
||||
## 6. 每天固定执行动作
|
||||
|
||||
每天都建议按这个顺序跑:
|
||||
|
||||
1. 看日志
|
||||
2. 看 sitemap 抓取
|
||||
3. 看搜索页命中
|
||||
4. 看详情页命中
|
||||
5. 看播放页命中
|
||||
6. 看旧 `404` 是否还在出现
|
||||
7. 看缓存滞后站是否仍未刷新
|
||||
8. 把结论写回对应文档
|
||||
|
||||
## 7. 文档分工建议
|
||||
|
||||
### 主线文档
|
||||
|
||||
总控统一放这里:
|
||||
|
||||
- [2026-04-18-7天推收录执行主线.md](/www/wwwroot/diff-maccms/SEONexus/docs/2026-04-18-7天推收录执行主线.md)
|
||||
|
||||
### 站点优先名单
|
||||
|
||||
策略依据看这里:
|
||||
|
||||
- [2026-04-17-GPT站群优先推收录名单.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-17-GPT站群优先推收录名单.md)
|
||||
|
||||
### 每日蜘蛛分析
|
||||
|
||||
按分组写:
|
||||
|
||||
- [2026-04-18-A组6站-蜘蛛回访分析.md](/www/wwwroot/diff-maccms/SEONexus/docs/2026-04-18-A组6站-蜘蛛回访分析.md)
|
||||
- [2026-04-18-B组9站-蜘蛛回访分析.md](/www/wwwroot/diff-maccms/SEONexus/docs/2026-04-18-B组9站-蜘蛛回访分析.md)
|
||||
|
||||
### GPT专属跟踪与复盘
|
||||
|
||||
如果今天的工作重点是 GPT 模板站群,而不是全局协作文档,请优先看:
|
||||
|
||||
- [gpt-template-seo/03-GPT模板每日复盘模板-2026-04-18.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/03-GPT模板每日复盘模板-2026-04-18.md)
|
||||
- [gpt-template-seo/04-GPT模板A-B组日志跟踪板-2026-04-18.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/04-GPT模板A-B组日志跟踪板-2026-04-18.md)
|
||||
|
||||
### 模板化分析
|
||||
|
||||
要新开文档时,从这里复制:
|
||||
|
||||
- [日志分析模板-收录推进版.md](/www/wwwroot/diff-maccms/SEONexus/docs/日志分析模板-收录推进版.md)
|
||||
|
||||
## 8. 风险优先级
|
||||
|
||||
### P0
|
||||
|
||||
必须当天处理:
|
||||
|
||||
1. 首页、详情、播放重新出现大面积 `404`
|
||||
2. sitemap 主入口无法访问
|
||||
3. `?__nocache=1` 也拿不到新 HTML
|
||||
4. 某域名整站 host 解析异常
|
||||
|
||||
### P1
|
||||
|
||||
应优先处理:
|
||||
|
||||
1. 普通访问还是旧缓存
|
||||
2. 搜索页或播放页 `h1` 丢失
|
||||
3. canonical 异常
|
||||
4. 旧坏链反复高频回访
|
||||
|
||||
### P2
|
||||
|
||||
可在主线稳定后继续优化:
|
||||
|
||||
1. 个别站标题表达不够强
|
||||
2. 少量年份 / 文案变体仍不统一
|
||||
3. 某些模板风格表现不够一致
|
||||
|
||||
## 9. 一线执行口径
|
||||
|
||||
以后现场执行时,统一按这个判断,不要来回摇摆:
|
||||
|
||||
1. 先保 `200`
|
||||
2. 再保 `h1`
|
||||
3. 再保 canonical
|
||||
4. 再看缓存
|
||||
5. 再看蜘蛛回访
|
||||
6. 最后再谈更细的标题优化
|
||||
|
||||
## 10. 当前建议
|
||||
|
||||
如果今天继续推进,优先顺序建议是:
|
||||
|
||||
1. 先把 A 组 6 站的实际日志回访填起来
|
||||
2. 再补 B 组 9 站
|
||||
3. 同时单独盯缓存滞后 4 站
|
||||
4. 一旦出现首批已抓 / 已收录样本,立即回写主线文档作为样板
|
||||
394
docs/2026-04-18-A组6站-蜘蛛回访分析.md
Normal file
394
docs/2026-04-18-A组6站-蜘蛛回访分析.md
Normal file
@@ -0,0 +1,394 @@
|
||||
# 2026-04-18 A组6站 蜘蛛回访分析
|
||||
|
||||
## 1. 基本信息
|
||||
|
||||
- 日期:`2026-04-18`
|
||||
- 分析人:`Codex / 团队`
|
||||
- 分析范围:`A组 6 站`
|
||||
- 日志时间窗口:`2026-04-17 09:10:03 ~ 2026-04-17 22:20:02`
|
||||
- 关联动作:
|
||||
- 已提交 sitemap:`A组6站已纳入首批推收录名单,主入口以 /sitemap.xml / sitemap_index.xml / sitemap-main.xml 为准`
|
||||
- 已清缓存域名:`待继续跟进 jingxifa.com / cnzhenbang.com`
|
||||
- 已上线模板修复:`详情 slug-only 兜底、HEAD 兼容、sitemap 修复、搜索页 h1 补强、播放页 h1 补强`
|
||||
|
||||
## 2. 本轮关注域名
|
||||
|
||||
1. `liangzuan.net`
|
||||
2. `cnzhenbang.com`
|
||||
3. `codohealth.com`
|
||||
4. `jingxifa.com`
|
||||
5. `gz-yxsw.com`
|
||||
6. `glae.cc`
|
||||
|
||||
## 3. 本轮关注目标
|
||||
|
||||
1. `sitemap_index.xml` 是否开始被抓
|
||||
2. `sitemap-main.xml` 是否开始被抓
|
||||
3. 搜索页是否出现蜘蛛回访
|
||||
4. 详情页是否开始出现命中
|
||||
5. 播放页是否开始出现命中
|
||||
6. 是否出现连续抓取链路:
|
||||
- `sitemap -> search -> detail`
|
||||
- `sitemap -> detail -> play`
|
||||
7. 是否仍存在旧 404 深链被反复访问
|
||||
|
||||
## 4. 蜘蛛来源概览
|
||||
|
||||
### 百度蜘蛛
|
||||
|
||||
- 请求数:`72`
|
||||
- 命中域名:
|
||||
- `codohealth.com`
|
||||
- `jingxifa.com`
|
||||
- `gz-yxsw.com`
|
||||
- `glae.cc`
|
||||
- 主要命中页面类型:
|
||||
- `home`
|
||||
- `detail`
|
||||
- `play`
|
||||
- `other`
|
||||
|
||||
### 必应蜘蛛
|
||||
|
||||
- 请求数:`2`
|
||||
- 命中域名:
|
||||
- `cnzhenbang.com`
|
||||
- 主要命中页面类型:
|
||||
- `category`
|
||||
|
||||
### 其他中文搜索蜘蛛
|
||||
|
||||
- 请求数:`88`
|
||||
- 命中域名:
|
||||
- `cnzhenbang.com`
|
||||
- `jingxifa.com`
|
||||
- `gz-yxsw.com`
|
||||
- `glae.cc`
|
||||
- 主要命中页面类型:
|
||||
- `home`
|
||||
- `category`
|
||||
- `detail`
|
||||
- `play`
|
||||
|
||||
### 普通浏览器访问
|
||||
|
||||
- 请求数:`本次统计只看蜘蛛 crawl push 数据,不混入普通浏览器访问`
|
||||
- 是否需要与蜘蛛流量区分:`是`
|
||||
|
||||
## 5. 各域名命中概览
|
||||
|
||||
### `liangzuan.net`
|
||||
|
||||
- sitemap:
|
||||
- 是否命中:`否`
|
||||
- 命中次数:`0`
|
||||
- 典型路径:`无`
|
||||
- search:
|
||||
- 是否命中:`否`
|
||||
- 命中次数:`0`
|
||||
- 典型路径:`无`
|
||||
- detail:
|
||||
- 是否命中:`否`
|
||||
- 命中次数:`0`
|
||||
- 典型路径:`无`
|
||||
- play:
|
||||
- 是否命中:`否`
|
||||
- 命中次数:`0`
|
||||
- 典型路径:`无`
|
||||
- old 404:
|
||||
- 是否出现:`当前窗口未见`
|
||||
- 典型路径:`无`
|
||||
|
||||
### `cnzhenbang.com`
|
||||
|
||||
- sitemap:
|
||||
- 是否命中:`否`
|
||||
- 命中次数:`0`
|
||||
- 典型路径:`无`
|
||||
- search:
|
||||
- 是否命中:`否`
|
||||
- 命中次数:`0`
|
||||
- 典型路径:`无`
|
||||
- detail:
|
||||
- 是否命中:`否`
|
||||
- 命中次数:`0`
|
||||
- 典型路径:`无`
|
||||
- play:
|
||||
- 是否命中:`否`
|
||||
- 命中次数:`0`
|
||||
- 典型路径:`无`
|
||||
- old 404:
|
||||
- 是否出现:`出现测试入口 404`
|
||||
- 典型路径:
|
||||
- `/get-index?wd=test`
|
||||
- `/get/index?wd=test`
|
||||
|
||||
补充观察:
|
||||
|
||||
- summary 总请求:`110`
|
||||
- 当前主要命中层级:
|
||||
- `robots: 62`
|
||||
- `category: 21`
|
||||
- `home: 1`
|
||||
- 当前已见 `200`:
|
||||
- `/`
|
||||
- `/category/dong-man`
|
||||
- 当前主要风险:
|
||||
- `googlebot` 仍大量命中 `/robots.txt => 444`
|
||||
- `sogou` 对分类页仍混有 `301 / 403`
|
||||
|
||||
### `codohealth.com`
|
||||
|
||||
- sitemap:
|
||||
- 是否命中:`否`
|
||||
- 命中次数:`0`
|
||||
- 典型路径:`无`
|
||||
- search:
|
||||
- 是否命中:`否`
|
||||
- 命中次数:`0`
|
||||
- 典型路径:`无`
|
||||
- detail:
|
||||
- 是否命中:`是`
|
||||
- 命中次数:`12`
|
||||
- 典型路径:
|
||||
- `/voddetail/gu-chuan-jin-zhen-qian-jin-jing-shi-feng-jian-lao-zu-zong-73272`
|
||||
- `/voddetail/ma-dai-gui-guai-chuan-shuo-qi-yuan-78411`
|
||||
- `/voddetail/xing-qiu-da-zhan-hei-shi-chuan-shuo-78631`
|
||||
- play:
|
||||
- 是否命中:`是,但当前被归到 other`
|
||||
- 命中次数:`6`
|
||||
- 典型路径:
|
||||
- `/vodbf/liang-liang-pei-dui-185109-default-1`
|
||||
- `/vodbf/yu-wang-dan-zhu-ji-104073-default-1`
|
||||
- old 404:
|
||||
- 是否出现:`当前窗口未见明显旧 404`
|
||||
- 典型路径:`无`
|
||||
|
||||
补充观察:
|
||||
|
||||
- summary 总请求:`766`
|
||||
- 当前最大流量仍在 `robots: 740`
|
||||
- 当前已拿到百度蜘蛛真实深页 `200`
|
||||
- 已见 `detail -> 200` 与 `play-like path -> 200`
|
||||
|
||||
### `jingxifa.com`
|
||||
|
||||
- sitemap:
|
||||
- 是否命中:`否`
|
||||
- 命中次数:`0`
|
||||
- 典型路径:`无`
|
||||
- search:
|
||||
- 是否命中:`否`
|
||||
- 命中次数:`0`
|
||||
- 典型路径:`无`
|
||||
- detail:
|
||||
- 是否命中:`是`
|
||||
- 命中次数:`15`
|
||||
- 典型路径:
|
||||
- `/video-detail/cheng-shi-jian-ke-190614`
|
||||
- `/video-detail/hai-mian-bao-bao-di-shi-yi-ji-73126-10`
|
||||
- `/video-detail/xing-jian-fu-guo-ji-di-wu-ji-107484`
|
||||
- play:
|
||||
- 是否命中:`是`
|
||||
- 命中次数:`16`
|
||||
- 典型路径:
|
||||
- `/video-bofang/hao-bu-liu-qing-185887-default-1`
|
||||
- `/video-bofang/hei-yi-nv-ren-de-xiang-shui-183894-default-1`
|
||||
- `/video-bofang/lie-gui-shao-nv-ba-fei-183877-default-1`
|
||||
- old 404:
|
||||
- 是否出现:`当前窗口未见旧 404 为主的坏链池`
|
||||
- 典型路径:`无`
|
||||
- cache status:
|
||||
- 普通访问是否仍落后于 `?__nocache=1`:`是,之前已确认存在缓存滞后`
|
||||
- 当前判断:`代码已生效,仍应把前端缓存刷新列为优先动作`
|
||||
|
||||
补充观察:
|
||||
|
||||
- summary 总请求:`1623`
|
||||
- 当前主要层级:
|
||||
- `category: 1066`
|
||||
- `robots: 485`
|
||||
- `play: 16`
|
||||
- `detail: 15`
|
||||
- `home: 14`
|
||||
- 当前已拿到:
|
||||
- 首页 `200`
|
||||
- 详情页 `200`
|
||||
- 播放页 `200`
|
||||
- 当前仍有:
|
||||
- `sogou` 对部分详情 / 播放 / 首页命中 `403`
|
||||
- `googlebot` 对大量 `videoclass*` 路径命中 `444`
|
||||
|
||||
### `gz-yxsw.com`
|
||||
|
||||
- sitemap:
|
||||
- 是否命中:`否`
|
||||
- 命中次数:`0`
|
||||
- 典型路径:`无`
|
||||
- search:
|
||||
- 是否命中:`否`
|
||||
- 命中次数:`0`
|
||||
- 典型路径:`无`
|
||||
- detail:
|
||||
- 是否命中:`否`
|
||||
- 命中次数:`0`
|
||||
- 典型路径:`无`
|
||||
- play:
|
||||
- 是否命中:`否`
|
||||
- 命中次数:`0`
|
||||
- 典型路径:`无`
|
||||
- old 404:
|
||||
- 是否出现:`当前窗口未见`
|
||||
- 典型路径:`无`
|
||||
|
||||
补充观察:
|
||||
|
||||
- summary 总请求:`38`
|
||||
- 当前已见:
|
||||
- 百度蜘蛛首页 `/ => 200`
|
||||
- `robots.txt => 200` 仅少量
|
||||
- 当前阶段仍属于首页层回访,尚未进入深页抓取
|
||||
|
||||
### `glae.cc`
|
||||
|
||||
- sitemap:
|
||||
- 是否命中:`否`
|
||||
- 命中次数:`0`
|
||||
- 典型路径:`无`
|
||||
- search:
|
||||
- 是否命中:`仅见测试探针`
|
||||
- 命中次数:`2`
|
||||
- 典型路径:
|
||||
- `/get-index?wd=test`
|
||||
- `/get/index?wd=test`
|
||||
- detail:
|
||||
- 是否命中:`否`
|
||||
- 命中次数:`0`
|
||||
- 典型路径:`无`
|
||||
- play:
|
||||
- 是否命中:`否`
|
||||
- 命中次数:`0`
|
||||
- 典型路径:`无`
|
||||
- old 404:
|
||||
- 是否出现:`出现测试入口 404`
|
||||
- 典型路径:
|
||||
- `/get-index?wd=test`
|
||||
- `/get/index?wd=test`
|
||||
- 需继续观察项:
|
||||
- 详情页 `h1` 是否仍显示年份:`待继续复查,目前日志层还未进入详情页`
|
||||
|
||||
补充观察:
|
||||
|
||||
- summary 总请求:`15`
|
||||
- 当前主命中是首页:
|
||||
- `/ => 8 次 200`
|
||||
- 同时出现:
|
||||
- `/ => 4 次 301`
|
||||
- `/robots.txt => 1 次 444`
|
||||
|
||||
## 6. 正向信号判断
|
||||
|
||||
- 是否出现 `sitemap -> search -> detail`:`当前窗口未直接看到 sitemap 命中,无法确认`
|
||||
- 是否出现 `sitemap -> detail -> play`:`在 jingxifa.com / codohealth.com 已出现 detail 与 play 深页 200,但当前证据链未直接回溯到 sitemap`
|
||||
- 是否出现 `home -> search -> detail`:`未形成稳定链路`
|
||||
- 是否出现详情页重复访问:`是,codohealth.com 与 jingxifa.com 已出现详情页重复命中`
|
||||
- 是否出现播放页稳定命中:`是,jingxifa.com 明显成立;codohealth.com 的 vodbf 路径也已出现稳定 200`
|
||||
|
||||
## 7. 风险信号判断
|
||||
|
||||
### 风险 1
|
||||
|
||||
- 域名:`liangzuan.net`
|
||||
- 表现:`当前整日窗口内几乎没有进入 A 组 crawl summary`
|
||||
- 可能原因:
|
||||
- 当日蜘蛛尚未有效回访
|
||||
- 当前样本窗口未覆盖到该站
|
||||
- 建议动作:
|
||||
- 继续看下一日数据
|
||||
- 站长平台侧优先补提 sitemap
|
||||
- 手工复查首页、详情、播放入口是否持续稳定 200
|
||||
|
||||
### 风险 2
|
||||
|
||||
- 域名:`cnzhenbang.com`
|
||||
- 表现:`当前主要停留在 robots 与 category 层,且混有 301 / 403 / 404`
|
||||
- 可能原因:
|
||||
- 分类层旧路径或探测路径仍在反复试探
|
||||
- 搜索 / 详情 / 播放还未被新一轮蜘蛛充分发现
|
||||
- 建议动作:
|
||||
- 继续观察分类页是否开始稳定转向 `200`
|
||||
- 继续提 sitemap 主入口
|
||||
- 复查前端缓存,避免蜘蛛仍吃到旧 HTML
|
||||
|
||||
### 风险 3
|
||||
|
||||
- 域名:`jingxifa.com`
|
||||
- 表现:`虽然已经出现首页 / 详情 / 播放真实 200,但普通访问与 ?__nocache=1 仍存在缓存滞后风险`
|
||||
- 可能原因:
|
||||
- 前端缓存未完全刷新
|
||||
- 蜘蛛与人工访问可能仍看到不同版本 HTML
|
||||
- 建议动作:
|
||||
- 优先刷新前端缓存
|
||||
- 清缓存后复查详情页 h1、播放页 h1、canonical
|
||||
- 明日继续看是否出现更稳定的 detail / play 回访
|
||||
|
||||
### 风险 4
|
||||
|
||||
- 域名:`glae.cc`
|
||||
- 表现:`当前只见首页层命中,且测试探针 /get-index?wd=test 与 /get/index?wd=test 返回 404`
|
||||
- 可能原因:
|
||||
- 当前只是探针验证,不代表真实搜索页蜘蛛入口
|
||||
- 深页抓取尚未开始
|
||||
- 建议动作:
|
||||
- 不把 test 404 误判成线上主链路异常
|
||||
- 明日继续观察是否开始进入真实 search / detail
|
||||
- 同时复核详情页标题年份表现
|
||||
|
||||
## 8. 缓存相关观察
|
||||
|
||||
重点域名:
|
||||
|
||||
1. `jingxifa.com`
|
||||
2. `cnzhenbang.com`
|
||||
|
||||
可补充:
|
||||
|
||||
- 普通访问结果:
|
||||
- `jingxifa.com` 曾出现旧缓存 HTML 滞后
|
||||
- `cnzhenbang.com` 也属于优先复查对象
|
||||
- `?__nocache=1` 结果:
|
||||
- 已确认代码修复版本能返回新 HTML
|
||||
- 是否一致:
|
||||
- `jingxifa.com`:`否`
|
||||
- `cnzhenbang.com`:`待继续复核`
|
||||
- 当前判断:
|
||||
- 这两站当前不宜继续先改模板
|
||||
- 应优先走前端缓存刷新 + 刷新后复测
|
||||
|
||||
## 9. 本轮结论
|
||||
|
||||
1. `A组6站` 里已经出现明显分层:
|
||||
- `codohealth.com`、`jingxifa.com` 已进入深页命中阶段
|
||||
- `cnzhenbang.com`、`gz-yxsw.com`、`glae.cc` 仍偏首页 / 分类层
|
||||
- `liangzuan.net` 在当前窗口内几乎没有有效命中
|
||||
2. 当前最强正向样本是:
|
||||
- `codohealth.com` 的详情 / 播放样式路径 `200`
|
||||
- `jingxifa.com` 的首页 / 详情 / 播放 `200`
|
||||
3. 当前还不能说 `sitemap -> search -> detail -> play` 已完整跑通,但已经能确认:
|
||||
- 深页回访开始出现
|
||||
- 部分站已进入详情与播放层
|
||||
4. 现阶段最大阻塞不是继续大改模板,而是:
|
||||
- 缓存滞后站刷新
|
||||
- 继续累积下一日回访样本
|
||||
- 让首页层站点尽快过渡到深页层
|
||||
|
||||
## 10. 下一步动作
|
||||
|
||||
1. 是否继续提交 B 组 sitemap:`是,继续按既定清单推进`
|
||||
2. 是否继续清理缓存滞后站:`是,优先 jingxifa.com / cnzhenbang.com`
|
||||
3. 明日优先观察域名:
|
||||
- `jingxifa.com`
|
||||
- `codohealth.com`
|
||||
- `cnzhenbang.com`
|
||||
- `liangzuan.net`
|
||||
4. 是否需要继续模板修正:`当前不作为第一优先级,先看缓存与新一轮蜘蛛回访`
|
||||
487
docs/2026-04-18-B组9站-蜘蛛回访分析.md
Normal file
487
docs/2026-04-18-B组9站-蜘蛛回访分析.md
Normal file
@@ -0,0 +1,487 @@
|
||||
# 2026-04-18 B组9站 蜘蛛回访分析
|
||||
|
||||
## 1. 基本信息
|
||||
|
||||
- 日期:`2026-04-18`
|
||||
- 分析人:`Codex / 团队`
|
||||
- 分析范围:`B组 9 站`
|
||||
- 日志时间窗口:`2026-04-17 09:10:03 ~ 2026-04-17 22:20:02`
|
||||
- 关联动作:
|
||||
- 已提交 sitemap:`B组9站已纳入首批推收录名单,主入口以 /sitemap.xml / sitemap_index.xml / sitemap-main.xml 为准`
|
||||
- 已清缓存域名:`待继续跟进 lcdchq.com / oronorent.com`
|
||||
- 已上线模板修复:`详情 slug-only 兜底、HEAD 兼容、sitemap 修复、搜索页 h1 补强、播放页 h1 补强`
|
||||
|
||||
## 2. 本轮关注域名
|
||||
|
||||
1. `gxhongzhuang.com`
|
||||
2. `jpjdxs.com`
|
||||
3. `jxxgygy.com`
|
||||
4. `lcdchq.com`
|
||||
5. `leici1940.com`
|
||||
6. `lgyz.net`
|
||||
7. `oronorent.com`
|
||||
8. `pcslcl.com`
|
||||
9. `sdxtwnc.com`
|
||||
|
||||
## 3. 本轮关注目标
|
||||
|
||||
1. `sitemap_index.xml` 是否开始被抓
|
||||
2. `sitemap-main.xml` 是否开始被抓
|
||||
3. 搜索页是否出现蜘蛛回访
|
||||
4. 详情页是否开始出现命中
|
||||
5. 播放页是否开始出现命中
|
||||
6. 是否出现连续抓取链路:
|
||||
- `sitemap -> search -> detail`
|
||||
- `sitemap -> detail -> play`
|
||||
7. 是否仍存在旧 404 深链被反复访问
|
||||
|
||||
## 4. 蜘蛛来源概览
|
||||
|
||||
### 百度蜘蛛
|
||||
|
||||
- 请求数:`95`
|
||||
- 命中域名:
|
||||
- `gxhongzhuang.com`
|
||||
- `jpjdxs.com`
|
||||
- `jxxgygy.com`
|
||||
- `lcdchq.com`
|
||||
- `leici1940.com`
|
||||
- `lgyz.net`
|
||||
- `pcslcl.com`
|
||||
- `sdxtwnc.com`
|
||||
- 主要命中页面类型:
|
||||
- `home`
|
||||
- `detail`
|
||||
- `other`
|
||||
|
||||
### 必应蜘蛛
|
||||
|
||||
- 请求数:`36`
|
||||
- 命中域名:
|
||||
- `gxhongzhuang.com`
|
||||
- `jxxgygy.com`
|
||||
- `lcdchq.com`
|
||||
- `lgyz.net`
|
||||
- 主要命中页面类型:
|
||||
- `robots`
|
||||
- `other`
|
||||
- `detail`
|
||||
|
||||
### 其他中文搜索蜘蛛
|
||||
|
||||
- 请求数:`115`
|
||||
- 命中域名:
|
||||
- `jpjdxs.com`
|
||||
- `jxxgygy.com`
|
||||
- `lcdchq.com`
|
||||
- `lgyz.net`
|
||||
- `oronorent.com`
|
||||
- 主要命中页面类型:
|
||||
- `home`
|
||||
- `detail`
|
||||
- `play`
|
||||
- `other`
|
||||
|
||||
### 普通浏览器访问
|
||||
|
||||
- 请求数:`本次统计只看蜘蛛 crawl push 数据,不混入普通浏览器访问`
|
||||
- 是否需要与蜘蛛流量区分:`是`
|
||||
|
||||
## 5. 各域名命中概览
|
||||
|
||||
### `gxhongzhuang.com`
|
||||
|
||||
- sitemap:
|
||||
- 是否命中:`否`
|
||||
- 命中次数:`0`
|
||||
- 典型路径:`无`
|
||||
- search:
|
||||
- 是否命中:`否`
|
||||
- 命中次数:`0`
|
||||
- 典型路径:`无`
|
||||
- detail:
|
||||
- 是否命中:`是`
|
||||
- 命中次数:`4`
|
||||
- 典型路径:
|
||||
- `/voddetail/xi-xue-gui-ji-nv-184448`
|
||||
- play:
|
||||
- 是否命中:`否`
|
||||
- 命中次数:`0`
|
||||
- 典型路径:`无`
|
||||
- old 404:
|
||||
- 是否出现:`当前窗口未见明显旧 404`
|
||||
- 典型路径:`无`
|
||||
|
||||
补充观察:
|
||||
|
||||
- summary 总请求:`46`
|
||||
- 当前已见:
|
||||
- 首页 `/ => 200`
|
||||
- 详情页 `/voddetail/xi-xue-gui-ji-nv-184448 => 200`
|
||||
- 当前风险:
|
||||
- `googlebot` 对 `/robots.txt` 大量 `444`
|
||||
- `bingbot` 对小说 / feed 类路径命中 `444`
|
||||
|
||||
### `jpjdxs.com`
|
||||
|
||||
- sitemap:
|
||||
- 是否命中:`否`
|
||||
- 命中次数:`0`
|
||||
- 典型路径:`无`
|
||||
- search:
|
||||
- 是否命中:`否`
|
||||
- 命中次数:`0`
|
||||
- 典型路径:`无`
|
||||
- detail:
|
||||
- 是否命中:`是,但当前被归到 other`
|
||||
- 命中次数:`2`
|
||||
- 典型路径:
|
||||
- `/neirong-154229-xiang-feng-bu-shi-jiu-shi-ren`
|
||||
- play:
|
||||
- 是否命中:`是,但当前被归到 other`
|
||||
- 命中次数:`2`
|
||||
- 典型路径:
|
||||
- `/bf-154229-xiang-feng-bu-shi-jiu-shi-ren/default-1`
|
||||
- old 404:
|
||||
- 是否出现:`当前窗口未见`
|
||||
- 典型路径:`无`
|
||||
- 关注项:
|
||||
- `search_header_media.html` 修复后是否已开始被蜘蛛正常命中:`当前窗口还未出现真实搜索页回访,但详情 / 播放样式路径已能被正常抓到 200`
|
||||
|
||||
补充观察:
|
||||
|
||||
- summary 总请求:`20`
|
||||
- 当前已见:
|
||||
- 首页 `/ => 200`
|
||||
- `/robots.txt => 200`
|
||||
- 详情样式路径 `200`
|
||||
- 播放样式路径 `200`
|
||||
|
||||
### `jxxgygy.com`
|
||||
|
||||
- sitemap:
|
||||
- 是否命中:`是,但为异常命中`
|
||||
- 命中次数:`1`
|
||||
- 典型路径:
|
||||
- `/sitemap.xml => 444`
|
||||
- search:
|
||||
- 是否命中:`否`
|
||||
- 命中次数:`0`
|
||||
- 典型路径:`无`
|
||||
- detail:
|
||||
- 是否命中:`未形成明确 detail 分类,但已有内容页探测`
|
||||
- 命中次数:`若干`
|
||||
- 典型路径:
|
||||
- `/vod/ben-zhuo-zhi-ji-de-qian-bei-169019`
|
||||
- `/vod/wo-zai-mo-shi-dang-lao-ban-yuan-gong-quan-shi-ji-sang-shi-dong-tai-man-hua-169368`
|
||||
- `/vod/wu-lian-shen-gong-168705`
|
||||
- play:
|
||||
- 是否命中:`否`
|
||||
- 命中次数:`0`
|
||||
- 典型路径:`无`
|
||||
- old 404:
|
||||
- 是否出现:`当前窗口未见典型旧 404 深链池`
|
||||
- 典型路径:`无`
|
||||
|
||||
补充观察:
|
||||
|
||||
- summary 总请求:`35`
|
||||
- 当前主要层级:
|
||||
- `home: 19`
|
||||
- `other: 13`
|
||||
- 当前已见:
|
||||
- 首页 `/ => 17 次 200`
|
||||
- 当前风险:
|
||||
- `sogou` 对若干内容路径仍混有 `301 / 403`
|
||||
- `/sitemap.xml => 444` 需要后续单独复核
|
||||
|
||||
### `lcdchq.com`
|
||||
|
||||
- sitemap:
|
||||
- 是否命中:`否`
|
||||
- 命中次数:`0`
|
||||
- 典型路径:`无`
|
||||
- search:
|
||||
- 是否命中:`仅见测试探针`
|
||||
- 命中次数:`2`
|
||||
- 典型路径:
|
||||
- `/get-index?wd=test`
|
||||
- `/get/index?wd=test`
|
||||
- detail:
|
||||
- 是否命中:`是`
|
||||
- 命中次数:`1`
|
||||
- 典型路径:
|
||||
- `/movie/154180-yi-gua-ding-qing-yuan-ye-ya-tou-jin-cheng-bei-tuan-chong`
|
||||
- play:
|
||||
- 是否命中:`否`
|
||||
- 命中次数:`0`
|
||||
- 典型路径:`无`
|
||||
- old 404:
|
||||
- 是否出现:`出现测试入口 404`
|
||||
- 典型路径:
|
||||
- `/get-index?wd=test`
|
||||
- `/get/index?wd=test`
|
||||
- cache status:
|
||||
- 普通访问是否仍落后于 `?__nocache=1`:`是,之前已确认属于缓存滞后站`
|
||||
- 当前判断:`优先清缓存,不先继续改模板`
|
||||
|
||||
补充观察:
|
||||
|
||||
- summary 总请求:`59`
|
||||
- 当前已见:
|
||||
- 首页 `/ => 200`
|
||||
- 详情页 `200`
|
||||
- 当前风险:
|
||||
- `/admin.php => 301` 高占比,属于噪音探测
|
||||
- `/robots.txt` 混有 `444 / 301 / 403`
|
||||
|
||||
### `leici1940.com`
|
||||
|
||||
- sitemap:
|
||||
- 是否命中:`否`
|
||||
- 命中次数:`0`
|
||||
- 典型路径:`无`
|
||||
- search:
|
||||
- 是否命中:`否`
|
||||
- 命中次数:`0`
|
||||
- 典型路径:`无`
|
||||
- detail:
|
||||
- 是否命中:`否`
|
||||
- 命中次数:`0`
|
||||
- 典型路径:`无`
|
||||
- play:
|
||||
- 是否命中:`是,但当前被归到 other`
|
||||
- 命中次数:`8`
|
||||
- 典型路径:
|
||||
- `/vodbf/qin-mi-da-dang-wu-di-lv-shi-83631-default-1`
|
||||
- `/vodbf/zhong-guo-xi-ju-xing-di-yi-ji-68746-default-1`
|
||||
- old 404:
|
||||
- 是否出现:`当前窗口未见明显旧 404`
|
||||
- 典型路径:`无`
|
||||
|
||||
补充观察:
|
||||
|
||||
- summary 总请求:`55`
|
||||
- 当前深页正向样本主要来自百度蜘蛛命中播放样式路径
|
||||
- 当前首页与 robots 仍以 `444` 为主
|
||||
|
||||
### `lgyz.net`
|
||||
|
||||
- sitemap:
|
||||
- 是否命中:`否`
|
||||
- 命中次数:`0`
|
||||
- 典型路径:`无`
|
||||
- search:
|
||||
- 是否命中:`仅见测试探针`
|
||||
- 命中次数:`2`
|
||||
- 典型路径:
|
||||
- `/get-index?wd=test`
|
||||
- `/get/index?wd=test`
|
||||
- detail:
|
||||
- 是否命中:`是`
|
||||
- 命中次数:`11`
|
||||
- 典型路径:
|
||||
- `/voddetail/fan-pai-da-ming-xing-68838`
|
||||
- `/voddetail/mo-shi-chao-neng-li-zhe-dong-tai-man-hua-69869`
|
||||
- play:
|
||||
- 是否命中:`是`
|
||||
- 命中次数:`9`
|
||||
- 典型路径:
|
||||
- `/vodplay/ming-zhen-tan-ke-nan-27577-youzhi-542`
|
||||
- `/vodplay/shi-shang-wan-jia-25834-youzhi-475`
|
||||
- `/vodplay/shi-shang-wan-jia-25834-youzhi-444`
|
||||
- old 404:
|
||||
- 是否出现:`出现测试入口 404`
|
||||
- 典型路径:
|
||||
- `/get-index?wd=test`
|
||||
- `/get/index?wd=test`
|
||||
|
||||
补充观察:
|
||||
|
||||
- summary 总请求:`39`
|
||||
- 当前已见:
|
||||
- 首页 `/ => 200`
|
||||
- 详情页 `200`
|
||||
- 播放页已有命中,但混有大量 `403`
|
||||
- 当前风险:
|
||||
- `sogou` 对播放页仍有大量 `403`
|
||||
- `/robots.txt` 状态不够稳定
|
||||
|
||||
### `oronorent.com`
|
||||
|
||||
- sitemap:
|
||||
- 是否命中:`否`
|
||||
- 命中次数:`0`
|
||||
- 典型路径:`无`
|
||||
- search:
|
||||
- 是否命中:`仅见测试探针`
|
||||
- 命中次数:`2`
|
||||
- 典型路径:
|
||||
- `/get-index?wd=test`
|
||||
- `/get/index?wd=test`
|
||||
- detail:
|
||||
- 是否命中:`是,但当前被归到 other`
|
||||
- 命中次数:`1`
|
||||
- 典型路径:
|
||||
- `/shipin/154173-yi-gua-ding-qian-kun`
|
||||
- play:
|
||||
- 是否命中:`否`
|
||||
- 命中次数:`0`
|
||||
- 典型路径:`无`
|
||||
- old 404:
|
||||
- 是否出现:`出现测试入口 404`
|
||||
- 典型路径:
|
||||
- `/get-index?wd=test`
|
||||
- `/get/index?wd=test`
|
||||
- cache status:
|
||||
- 普通访问是否仍落后于 `?__nocache=1`:`是,之前已列为缓存滞后站`
|
||||
- 当前判断:`优先清缓存,再继续观察详情层回访`
|
||||
|
||||
补充观察:
|
||||
|
||||
- summary 总请求:`18`
|
||||
- 当前已见:
|
||||
- `/shipin/154173-yi-gua-ding-qian-kun => 200`
|
||||
- 当前风险:
|
||||
- 首页与 robots 仍混有 `301 / 403 / 444`
|
||||
|
||||
### `pcslcl.com`
|
||||
|
||||
- sitemap:
|
||||
- 是否命中:`否`
|
||||
- 命中次数:`0`
|
||||
- 典型路径:`无`
|
||||
- search:
|
||||
- 是否命中:`否`
|
||||
- 命中次数:`0`
|
||||
- 典型路径:`无`
|
||||
- detail:
|
||||
- 是否命中:`否`
|
||||
- 命中次数:`0`
|
||||
- 典型路径:`无`
|
||||
- play:
|
||||
- 是否命中:`否`
|
||||
- 命中次数:`0`
|
||||
- 典型路径:`无`
|
||||
- old 404:
|
||||
- 是否出现:`当前窗口未见典型旧 404`
|
||||
- 典型路径:`无`
|
||||
|
||||
补充观察:
|
||||
|
||||
- summary 总请求:`218`
|
||||
- 当前几乎全部是 `robots.txt => 444`
|
||||
- 当前只拿到极少量首页 `200`
|
||||
- 仍处于首页前的 robots 层
|
||||
|
||||
### `sdxtwnc.com`
|
||||
|
||||
- sitemap:
|
||||
- 是否命中:`否`
|
||||
- 命中次数:`0`
|
||||
- 典型路径:`无`
|
||||
- search:
|
||||
- 是否命中:`否`
|
||||
- 命中次数:`0`
|
||||
- 典型路径:`无`
|
||||
- detail:
|
||||
- 是否命中:`否`
|
||||
- 命中次数:`0`
|
||||
- 典型路径:`无`
|
||||
- play:
|
||||
- 是否命中:`否`
|
||||
- 命中次数:`0`
|
||||
- 典型路径:`无`
|
||||
- old 404:
|
||||
- 是否出现:`当前窗口未见`
|
||||
- 典型路径:`无`
|
||||
|
||||
补充观察:
|
||||
|
||||
- summary 总请求:`32`
|
||||
- 当前已见:
|
||||
- 首页 `/ => 19 次 200`
|
||||
- 当前阶段仍属于首页层回访
|
||||
|
||||
## 6. 正向信号判断
|
||||
|
||||
- 是否出现 `sitemap -> search -> detail`:`当前窗口未直接看到完整链路`
|
||||
- 是否出现 `sitemap -> detail -> play`:`在 lgyz.net、jpjdxs.com、gxhongzhuang.com、lcdchq.com 已看到不同层级深页 200,但未直接回溯到 sitemap`
|
||||
- 是否出现 `home -> search -> detail`:`未形成稳定链路`
|
||||
- 是否出现详情页重复访问:`是,gxhongzhuang.com、lgyz.net、lcdchq.com 已出现 detail 层命中`
|
||||
- 是否出现播放页稳定命中:`是,lgyz.net、jpjdxs.com、leici1940.com 已出现播放样式路径命中`
|
||||
|
||||
## 7. 风险信号判断
|
||||
|
||||
### 风险 1
|
||||
|
||||
- 域名:`pcslcl.com`
|
||||
- 表现:`当前几乎全部停留在 robots 层,214 次 robots 444,仅 1 次首页 200`
|
||||
- 可能原因:
|
||||
- 仍未进入有效页面发现阶段
|
||||
- 谷歌探测集中在 robots
|
||||
- 建议动作:
|
||||
- 继续提交 sitemap 主入口
|
||||
- 明日继续观察是否开始进入首页或详情层
|
||||
|
||||
### 风险 2
|
||||
|
||||
- 域名:`lcdchq.com`
|
||||
- 表现:`已有首页与详情 200,但普通访问与 ?__nocache=1 已知存在缓存滞后`
|
||||
- 可能原因:
|
||||
- 前端缓存未完全刷新
|
||||
- 蜘蛛与人工访问可能命中不同 HTML
|
||||
- 建议动作:
|
||||
- 优先清缓存
|
||||
- 清缓存后复查详情页 h1、canonical、播放页链路
|
||||
|
||||
### 风险 3
|
||||
|
||||
- 域名:`oronorent.com`
|
||||
- 表现:`已见单个详情样式路径 200,但首页 / robots 状态混杂,且属于已知缓存滞后站`
|
||||
- 可能原因:
|
||||
- 缓存滞后
|
||||
- 蜘蛛仍在试探旧入口
|
||||
- 建议动作:
|
||||
- 优先清缓存
|
||||
- 继续观察是否从单个详情样本扩展到更多深页
|
||||
|
||||
### 风险 4
|
||||
|
||||
- 域名:`jxxgygy.com`
|
||||
- 表现:`/sitemap.xml 在当前窗口出现 444`
|
||||
- 可能原因:
|
||||
- 单次探针异常
|
||||
- 该时段前端或规则响应不稳定
|
||||
- 建议动作:
|
||||
- 单独复测 sitemap 主入口
|
||||
- 若复测正常,则先视为时间窗异常,不立刻大改
|
||||
- 建议动作:
|
||||
|
||||
## 8. 缓存相关观察
|
||||
|
||||
重点域名:
|
||||
|
||||
1. `lcdchq.com`
|
||||
2. `oronorent.com`
|
||||
|
||||
可补充:
|
||||
|
||||
- 普通访问结果:
|
||||
- `?__nocache=1` 结果:
|
||||
- 是否一致:
|
||||
- 当前判断:
|
||||
|
||||
## 9. 本轮结论
|
||||
|
||||
1.
|
||||
2.
|
||||
3.
|
||||
4.
|
||||
|
||||
## 10. 下一步动作
|
||||
|
||||
1. 是否继续补提剩余 sitemap:
|
||||
2. 是否继续清理缓存滞后站:
|
||||
3. 明日优先观察域名:
|
||||
4. 是否需要继续微调模板:
|
||||
57
docs/2026-04-18-GPT模板SEO公共主线汇总.md
Normal file
57
docs/2026-04-18-GPT模板SEO公共主线汇总.md
Normal file
@@ -0,0 +1,57 @@
|
||||
# 2026-04-18 GPT模板SEO公共主线汇总
|
||||
|
||||
这份文档是 GPT 模板 SEO 支线写回 `docs/` 根目录的公共主线入口。
|
||||
|
||||
作用:
|
||||
|
||||
1. 让公共协作者快速知道 GPT 模板这条线现在做到哪里
|
||||
2. 让后续阶段性结论有统一回写位置
|
||||
3. 避免 GPT 模板支线文档散落在根目录难以收口
|
||||
|
||||
## 当前边界
|
||||
|
||||
GPT 模板支线只处理:
|
||||
|
||||
1. `videoGpt1` 页面质量优化
|
||||
2. GPT 站群优先域名收录推进
|
||||
3. 首批缓存滞后站复查
|
||||
4. GPT 站蜘蛛回访跟踪
|
||||
|
||||
## 当前专属目录
|
||||
|
||||
GPT 模板专属工作区:
|
||||
|
||||
- [gpt-template-seo/README.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/README.md)
|
||||
- [2026-04-17-GPT站群优先推收录名单.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-17-GPT站群优先推收录名单.md)
|
||||
|
||||
## 当前主线
|
||||
|
||||
1. 页面质量基础修复已做完一轮
|
||||
2. 当前进入执行阶段:
|
||||
- 等新蜘蛛日志
|
||||
- 继续跟首批 4 站缓存复查
|
||||
- 再根据真实结果决定是否继续模板微调
|
||||
|
||||
## 当前优先站
|
||||
|
||||
1. `jingxifa.com`
|
||||
2. `lcdchq.com`
|
||||
3. `cnzhenbang.com`
|
||||
4. `oronorent.com`
|
||||
|
||||
## 当前建议阅读顺序
|
||||
|
||||
1. GPT 专属总览:
|
||||
- [gpt-template-seo/00-GPT模板SEO公共总览-2026-04-18.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/00-GPT模板SEO公共总览-2026-04-18.md)
|
||||
2. GPT 7 天主线:
|
||||
- [gpt-template-seo/01-GPT模板7天SEO执行主线-2026-04-18.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/01-GPT模板7天SEO执行主线-2026-04-18.md)
|
||||
3. GPT 首批执行:
|
||||
- [gpt-template-seo/02-GPT模板首批4站缓存复查执行单-2026-04-18.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/02-GPT模板首批4站缓存复查执行单-2026-04-18.md)
|
||||
4. GPT 交接:
|
||||
- [gpt-template-seo/07-GPT模板交接说明-2026-04-18.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/07-GPT模板交接说明-2026-04-18.md)
|
||||
|
||||
## 当前公共结论
|
||||
|
||||
1. GPT 模板支线已经单独收口到 `docs/gpt-template-seo/`
|
||||
2. 公共协作继续看 `docs/` 根目录
|
||||
3. GPT 模板阶段性结论后续统一回写到这份文档
|
||||
213
docs/2026-04-18-清缓存后复查记录单.md
Normal file
213
docs/2026-04-18-清缓存后复查记录单.md
Normal file
@@ -0,0 +1,213 @@
|
||||
# 2026-04-18 清缓存后复查记录单
|
||||
|
||||
这份文档用于在前端缓存刷新之后,统一记录“普通访问”和 `?__nocache=1` 的对照结果。
|
||||
|
||||
适用场景:
|
||||
|
||||
1. 某个域名刚清完前端缓存
|
||||
2. 需要确认旧 HTML 是否已经被真正替换
|
||||
3. 需要把复查结果写回 A / B 组蜘蛛回访文档
|
||||
|
||||
建议配合:
|
||||
|
||||
- [2026-04-18-A-B组优先清缓存执行单.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-A-B组优先清缓存执行单.md)
|
||||
- [前端nginx切换后复测模板.md](/www/wwwroot/diff-maccms/SEONexus/docs/前端nginx切换后复测模板.md)
|
||||
- [2026-04-18-A组6站-蜘蛛回访分析.md](/www/wwwroot/diff-maccms/SEONexus/docs/2026-04-18-A组6站-蜘蛛回访分析.md)
|
||||
- [2026-04-18-B组9站-蜘蛛回访分析.md](/www/wwwroot/diff-maccms/SEONexus/docs/2026-04-18-B组9站-蜘蛛回访分析.md)
|
||||
|
||||
## 1. 基本信息
|
||||
|
||||
- 日期:
|
||||
- 执行人:
|
||||
- 执行对象域名:
|
||||
- 清缓存时间:
|
||||
- 缓存层:
|
||||
- 前端 nginx / CDN / 其他
|
||||
- 本次是否属于优先清缓存名单:
|
||||
- 是 / 否
|
||||
|
||||
## 2. 本次复查目标
|
||||
|
||||
至少写清楚这次要验证什么:
|
||||
|
||||
1. 普通访问是否已经不再落后于 `?__nocache=1`
|
||||
2. 搜索页 `h1` 是否正常
|
||||
3. 搜索页 canonical 是否正常
|
||||
4. 详情页 `h1` 是否正常
|
||||
5. 详情页 canonical 是否正常
|
||||
6. 播放页 `h1` 是否正常
|
||||
7. 播放页 canonical 是否正常
|
||||
|
||||
## 3. 复查 URL 清单
|
||||
|
||||
建议每个域名至少复查这 4 类:
|
||||
|
||||
1. 首页
|
||||
2. 搜索页
|
||||
3. 详情页
|
||||
4. 播放页
|
||||
|
||||
填写:
|
||||
|
||||
- 首页 URL:
|
||||
- 搜索页 URL:
|
||||
- 详情页 URL:
|
||||
- 播放页 URL:
|
||||
|
||||
## 4. 普通访问复查
|
||||
|
||||
### 首页
|
||||
|
||||
- URL:
|
||||
- 状态码:
|
||||
- `X-Cache-Status`:
|
||||
- `X-Cache-Mode`:
|
||||
- 页面标题:
|
||||
- 结论:
|
||||
|
||||
### 搜索页
|
||||
|
||||
- URL:
|
||||
- 状态码:
|
||||
- `X-Cache-Status`:
|
||||
- `X-Cache-Mode`:
|
||||
- `h1`:
|
||||
- canonical:
|
||||
- 结论:
|
||||
|
||||
### 详情页
|
||||
|
||||
- URL:
|
||||
- 状态码:
|
||||
- `X-Cache-Status`:
|
||||
- `X-Cache-Mode`:
|
||||
- `h1`:
|
||||
- canonical:
|
||||
- 结论:
|
||||
|
||||
### 播放页
|
||||
|
||||
- URL:
|
||||
- 状态码:
|
||||
- `X-Cache-Status`:
|
||||
- `X-Cache-Mode`:
|
||||
- `h1`:
|
||||
- canonical:
|
||||
- 结论:
|
||||
|
||||
## 5. `?__nocache=1` 对照复查
|
||||
|
||||
至少对搜索页、详情页、播放页各抽一条。
|
||||
|
||||
### 搜索页 nocache
|
||||
|
||||
- URL:
|
||||
- 状态码:
|
||||
- `X-Cache-Status`:
|
||||
- `X-Cache-Mode`:
|
||||
- `X-Cache-Bypass`:
|
||||
- `h1`:
|
||||
- canonical:
|
||||
|
||||
### 详情页 nocache
|
||||
|
||||
- URL:
|
||||
- 状态码:
|
||||
- `X-Cache-Status`:
|
||||
- `X-Cache-Mode`:
|
||||
- `X-Cache-Bypass`:
|
||||
- `h1`:
|
||||
- canonical:
|
||||
|
||||
### 播放页 nocache
|
||||
|
||||
- URL:
|
||||
- 状态码:
|
||||
- `X-Cache-Status`:
|
||||
- `X-Cache-Mode`:
|
||||
- `X-Cache-Bypass`:
|
||||
- `h1`:
|
||||
- canonical:
|
||||
|
||||
## 6. 普通访问 vs `?__nocache=1` 对照判断
|
||||
|
||||
### 搜索页
|
||||
|
||||
- 是否一致:
|
||||
- 若不一致,差异点:
|
||||
|
||||
### 详情页
|
||||
|
||||
- 是否一致:
|
||||
- 若不一致,差异点:
|
||||
|
||||
### 播放页
|
||||
|
||||
- 是否一致:
|
||||
- 若不一致,差异点:
|
||||
|
||||
## 7. 判定结论
|
||||
|
||||
只用下面 4 类结论,不要写模糊话术:
|
||||
|
||||
- [ ] 已恢复一致,可继续观察蜘蛛回访
|
||||
- [ ] 已部分恢复,仍有个别页面残留旧缓存
|
||||
- [ ] 缓存刷新后仍不一致,需继续查缓存链路
|
||||
- [ ] 不是缓存问题,需回到模板 / 路由 / 输出层继续排查
|
||||
|
||||
## 8. 回写动作
|
||||
|
||||
缓存复查不是终点,要把结论写回主线文档。
|
||||
|
||||
本次复查后应同步更新:
|
||||
|
||||
1. 对应域名所在的 A / B 组蜘蛛回访文档
|
||||
2. 如有共性结论,补到 7 天主线文档
|
||||
3. 如确认缓存问题已解除,从优先清缓存名单中降级
|
||||
|
||||
填写:
|
||||
|
||||
- 已回写 A / B 组文档:
|
||||
- 是否需要回写主线:
|
||||
- 是否仍保留在优先清缓存名单:
|
||||
|
||||
## 9. 下一步动作
|
||||
|
||||
从下面选择一个为主动作:
|
||||
|
||||
1. 继续观察下一轮蜘蛛日志
|
||||
2. 再补测该域名更多详情 / 播放页
|
||||
3. 继续清其他缓存滞后站
|
||||
4. 回到模板 / 路由 / 页面输出继续排查
|
||||
|
||||
填写:
|
||||
|
||||
- 下一步:
|
||||
|
||||
---
|
||||
|
||||
## 极简填写示例
|
||||
|
||||
```md
|
||||
域名:jingxifa.com
|
||||
清缓存时间:2026-04-18 14:30 +08:00
|
||||
|
||||
普通访问:
|
||||
- 搜索页 h1:京淅发影院 搜索结果
|
||||
- 详情页 h1:武炼巅峰(短剧)
|
||||
- 播放页 h1:武炼巅峰(短剧) 全集
|
||||
|
||||
nocache:
|
||||
- 搜索页 h1:京淅发影院 搜索结果
|
||||
- 详情页 h1:武炼巅峰(短剧)
|
||||
- 播放页 h1:武炼巅峰(短剧) 全集
|
||||
|
||||
对照:
|
||||
- 普通访问与 nocache 一致
|
||||
|
||||
结论:
|
||||
- 已恢复一致,可继续观察蜘蛛回访
|
||||
|
||||
下一步:
|
||||
- 写回 A/B 组文档,继续看 detail/play 是否扩大命中
|
||||
```
|
||||
152
docs/README.md
152
docs/README.md
@@ -18,6 +18,30 @@
|
||||
2. 想用最短材料完成交接
|
||||
3. 想先看结论,再决定要不要展开看长文档
|
||||
|
||||
### 1.1 7天推收录执行主线
|
||||
|
||||
如果你当前的重点已经不是“修基础 Bug”,而是“怎么在这一周把收录、回访、缓存刷新、真实流量推进起来”,先看:
|
||||
|
||||
- [2026-04-18-7天推收录执行主线.md](/www/wwwroot/diff-maccms/SEONexus/docs/2026-04-18-7天推收录执行主线.md)
|
||||
|
||||
适用场景:
|
||||
|
||||
1. 需要一个总控文档安排未来 7 天动作
|
||||
2. 想把 `15` 个优先域名按主线持续推进
|
||||
3. 想知道每天应该先看什么、先做什么、怎么判断有效
|
||||
|
||||
### 1.2 GPT模板公共主线汇总
|
||||
|
||||
如果你关心的是 GPT 模板这条专属 SEO 支线,而不是老模板,请先看:
|
||||
|
||||
- [2026-04-18-GPT模板SEO公共主线汇总.md](/www/wwwroot/diff-maccms/SEONexus/docs/2026-04-18-GPT模板SEO公共主线汇总.md)
|
||||
|
||||
适用场景:
|
||||
|
||||
1. 想快速知道 GPT 模板线当前边界和主线
|
||||
2. 想知道 GPT 模板专属目录放在哪里
|
||||
3. 想看 GPT 模板阶段性结论的公共回写入口
|
||||
|
||||
### 2. 本轮交付清单
|
||||
|
||||
如果你更关心“这轮到底已经交付了哪些东西”,直接看:
|
||||
@@ -42,6 +66,122 @@
|
||||
2. 新会话不想再重复走历史弯路
|
||||
3. 需要一段可直接复制的继续追踪提示词
|
||||
|
||||
### 3.1 A/B 组蜘蛛回访文档
|
||||
|
||||
如果现在已经进入按域名分组追踪阶段,直接看:
|
||||
|
||||
- [2026-04-18-A组6站-蜘蛛回访分析.md](/www/wwwroot/diff-maccms/SEONexus/docs/2026-04-18-A组6站-蜘蛛回访分析.md)
|
||||
- [2026-04-18-B组9站-蜘蛛回访分析.md](/www/wwwroot/diff-maccms/SEONexus/docs/2026-04-18-B组9站-蜘蛛回访分析.md)
|
||||
|
||||
适用场景:
|
||||
|
||||
1. 今天要填 A 组 / B 组日志结论
|
||||
2. 想按域名组持续记录 sitemap、search、detail、play 命中情况
|
||||
3. 想把正向信号和风险信号沉淀到可复用文档
|
||||
|
||||
### 3.2 清缓存后复查记录单
|
||||
|
||||
如果现场已经开始执行缓存刷新,接下来建议直接用:
|
||||
|
||||
- [2026-04-18-清缓存后复查记录单.md](/www/wwwroot/diff-maccms/SEONexus/docs/2026-04-18-清缓存后复查记录单.md)
|
||||
|
||||
这份是通用复查模板。
|
||||
如果要看 GPT 模板这条线的具体优先站执行单,请配合:
|
||||
|
||||
- [2026-04-18-A-B组优先清缓存执行单.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-A-B组优先清缓存执行单.md)
|
||||
|
||||
适用场景:
|
||||
|
||||
1. 某个域名刚清完前端缓存
|
||||
2. 需要核对普通访问与 `?__nocache=1` 是否已一致
|
||||
3. 需要把缓存复查结果写回 A / B 组蜘蛛回访文档
|
||||
|
||||
### 3.3 首批4站清缓存执行单
|
||||
|
||||
这批文档属于 GPT 模板专属执行材料,已收拢到 `gpt-template-seo/` 目录。
|
||||
|
||||
如果今天准备直接执行首批缓存刷新,建议直接用:
|
||||
|
||||
- [2026-04-18-首批4站清缓存后复查执行单.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-首批4站清缓存后复查执行单.md)
|
||||
|
||||
适用场景:
|
||||
|
||||
1. 已经确定首批 4 个缓存优先站
|
||||
2. 不想每个域名再从模板手工复制
|
||||
3. 想把清缓存后的复查结果一次性集中记录
|
||||
|
||||
### 3.4 首批4站 curl 复查命令
|
||||
|
||||
如果现场要直接用命令行复查,建议直接看:
|
||||
|
||||
- [2026-04-18-首批4站-curl复查命令清单.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-首批4站-curl复查命令清单.md)
|
||||
|
||||
适用场景:
|
||||
|
||||
1. 需要直接复制 `curl` 命令执行
|
||||
2. 需要快速查看 header、canonical、`h1`
|
||||
3. 想减少临场手工拼接 URL 的时间
|
||||
|
||||
### 3.5 首批4站 curl 结果判读表
|
||||
|
||||
如果命令已经跑完,需要快速判断“到底是缓存问题还是代码问题”,建议直接看:
|
||||
|
||||
- [2026-04-18-首批4站-curl结果判读表.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-首批4站-curl结果判读表.md)
|
||||
|
||||
适用场景:
|
||||
|
||||
1. 现场已经拿到 header 与源码抽取结果
|
||||
2. 需要快速判断是否已恢复一致
|
||||
3. 需要统一回写执行单与 A / B 组文档
|
||||
|
||||
### 3.6 首批4站现场执行顺序汇总
|
||||
|
||||
如果现场执行同学只想打开一页就开干,直接看:
|
||||
|
||||
- [2026-04-18-首批4站现场执行顺序汇总.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-首批4站现场执行顺序汇总.md)
|
||||
|
||||
适用场景:
|
||||
|
||||
1. 需要按固定顺序执行首批 4 站
|
||||
2. 不想在多份文档之间来回跳
|
||||
3. 需要一页版执行说明
|
||||
|
||||
### 3.7 首批4站执行后结果汇总
|
||||
|
||||
如果首批 4 站已经执行完,需要一页看清最终结果,直接看:
|
||||
|
||||
- [2026-04-18-首批4站执行后结果汇总页.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-首批4站执行后结果汇总页.md)
|
||||
|
||||
适用场景:
|
||||
|
||||
1. 需要快速知道哪些站已恢复一致
|
||||
2. 需要决定哪些站可以从缓存优先名单降级
|
||||
3. 需要把结果同步回 A / B 组和 7 天主线
|
||||
|
||||
### 3.8 首批4站缓存复查交接说明
|
||||
|
||||
如果你是临时接手、执行同学、或者新开会话,只想 1 分钟内知道该干什么,直接看:
|
||||
|
||||
- [2026-04-18-首批4站缓存复查交接说明.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-首批4站缓存复查交接说明.md)
|
||||
|
||||
适用场景:
|
||||
|
||||
1. 临时接手首批 4 站缓存复查
|
||||
2. 不想翻很多文档
|
||||
3. 只想快速知道先做什么、不要做什么、结果写哪里
|
||||
|
||||
### 3.9 首批4站执行消息模板
|
||||
|
||||
如果你要直接把任务转发给执行同学、运维同学或下一位接手者,直接看:
|
||||
|
||||
- [2026-04-18-首批4站缓存复查-执行消息模板.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-首批4站缓存复查-执行消息模板.md)
|
||||
|
||||
适用场景:
|
||||
|
||||
1. 需要一段可以直接复制发送的话术
|
||||
2. 不想手工组织任务说明
|
||||
3. 需要同时兼顾极简版、标准版、详细版
|
||||
|
||||
### 4. 当前蜘蛛 / nginx 短摘要
|
||||
|
||||
先看:
|
||||
@@ -132,6 +272,18 @@
|
||||
2. 想先看老模板公共入口,再决定要不要深入
|
||||
3. 回看老模板第一阶段执行过程
|
||||
|
||||
### 10.1 GPT模板专属目录
|
||||
|
||||
如果你当前接手的是 GPT 模板 SEO 这条线,建议直接进:
|
||||
|
||||
- [gpt-template-seo/README.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/README.md)
|
||||
|
||||
适用场景:
|
||||
|
||||
1. 需要 GPT 模板专属工作区
|
||||
2. 想持续跟踪 GPT 模板优化,不和老模板混在一起
|
||||
3. 需要 GPT 模板的专属总览、执行单、复盘和交接入口
|
||||
|
||||
### 10.1 老模板蜘蛛分析交接链
|
||||
|
||||
如果你当前要接手的是 `2026-04-16` 到 `2026-04-17` 这轮老模板蜘蛛日志分析,建议直接看:
|
||||
|
||||
61
docs/gpt-template-seo/00-GPT模板SEO公共总览-2026-04-18.md
Normal file
61
docs/gpt-template-seo/00-GPT模板SEO公共总览-2026-04-18.md
Normal file
@@ -0,0 +1,61 @@
|
||||
# 00 GPT模板SEO公共总览 2026-04-18
|
||||
|
||||
这份文档是 GPT 模板 SEO 支线的公共总览。
|
||||
|
||||
## 当前边界
|
||||
|
||||
只处理:
|
||||
|
||||
1. `videoGpt1` 模板相关页面质量
|
||||
2. GPT 站群优先域名收录推进
|
||||
3. GPT 站缓存滞后复查
|
||||
4. GPT 站蜘蛛回访跟踪
|
||||
|
||||
不处理:
|
||||
|
||||
1. 老模板 `1001-1005`
|
||||
2. 老模板样板站独立推进
|
||||
|
||||
## 当前主线
|
||||
|
||||
1. 页面质量已经完成一轮基础修复:
|
||||
- 搜索页 `h1`
|
||||
- 播放页 `h1`
|
||||
- canonical
|
||||
- slug-only 详情兜底
|
||||
- sitemap 修复
|
||||
2. 当前进入执行阶段:
|
||||
- 先看蜘蛛回访
|
||||
- 再清缓存滞后站
|
||||
- 再看普通访问是否追上 `?__nocache=1`
|
||||
|
||||
## 当前优先域名
|
||||
|
||||
首批缓存优先站:
|
||||
|
||||
1. `jingxifa.com`
|
||||
2. `lcdchq.com`
|
||||
3. `cnzhenbang.com`
|
||||
4. `oronorent.com`
|
||||
|
||||
## 当前文档结构
|
||||
|
||||
1. 总控:
|
||||
- [01-GPT模板7天SEO执行主线-2026-04-18.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/01-GPT模板7天SEO执行主线-2026-04-18.md)
|
||||
2. 首批执行:
|
||||
- [02-GPT模板首批4站缓存复查执行单-2026-04-18.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/02-GPT模板首批4站缓存复查执行单-2026-04-18.md)
|
||||
3. 每日复盘:
|
||||
- [03-GPT模板每日复盘模板-2026-04-18.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/03-GPT模板每日复盘模板-2026-04-18.md)
|
||||
4. 跟踪板:
|
||||
- [04-GPT模板A-B组日志跟踪板-2026-04-18.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/04-GPT模板A-B组日志跟踪板-2026-04-18.md)
|
||||
5. 汇总:
|
||||
- [05-GPT模板首批4站执行后汇总-2026-04-18.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/05-GPT模板首批4站执行后汇总-2026-04-18.md)
|
||||
6. 执行辅助:
|
||||
- [06-GPT模板curl复查与判读索引-2026-04-18.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/06-GPT模板curl复查与判读索引-2026-04-18.md)
|
||||
7. 交接:
|
||||
- [07-GPT模板交接说明-2026-04-18.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/07-GPT模板交接说明-2026-04-18.md)
|
||||
|
||||
## 当前建议
|
||||
|
||||
1. GPT 模板这条线后续都优先落到 `docs/gpt-template-seo/`
|
||||
2. 阶段性结论再同步回 `docs/` 根目录公共主线
|
||||
44
docs/gpt-template-seo/01-GPT模板7天SEO执行主线-2026-04-18.md
Normal file
44
docs/gpt-template-seo/01-GPT模板7天SEO执行主线-2026-04-18.md
Normal file
@@ -0,0 +1,44 @@
|
||||
# 01 GPT模板7天SEO执行主线 2026-04-18
|
||||
|
||||
这份文档承接 GPT 模板 SEO 这条支线未来 7 天的执行节奏。
|
||||
|
||||
## 目标
|
||||
|
||||
1. 继续观察 GPT 站群蜘蛛回访
|
||||
2. 处理缓存滞后站
|
||||
3. 让普通访问尽快追上 `?__nocache=1`
|
||||
4. 累积 detail / play 层稳定命中
|
||||
|
||||
## 当前优先级
|
||||
|
||||
### P0
|
||||
|
||||
1. 首批 4 站缓存复查
|
||||
|
||||
### P1
|
||||
|
||||
1. A 组蜘蛛回访继续跟踪
|
||||
2. B 组蜘蛛回访继续跟踪
|
||||
|
||||
### P2
|
||||
|
||||
1. 若确认不是缓存问题,再回模板层微调
|
||||
|
||||
## 当前执行顺序
|
||||
|
||||
1. 先处理:
|
||||
- `jingxifa.com`
|
||||
- `lcdchq.com`
|
||||
- `cnzhenbang.com`
|
||||
- `oronorent.com`
|
||||
2. 再看新蜘蛛日志
|
||||
3. 最后再决定是否继续模板精修
|
||||
|
||||
## 对应文档
|
||||
|
||||
1. 首批执行:
|
||||
- [02-GPT模板首批4站缓存复查执行单-2026-04-18.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/02-GPT模板首批4站缓存复查执行单-2026-04-18.md)
|
||||
2. 每日复盘:
|
||||
- [03-GPT模板每日复盘模板-2026-04-18.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/03-GPT模板每日复盘模板-2026-04-18.md)
|
||||
3. 跟踪板:
|
||||
- [04-GPT模板A-B组日志跟踪板-2026-04-18.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/04-GPT模板A-B组日志跟踪板-2026-04-18.md)
|
||||
22
docs/gpt-template-seo/02-GPT模板首批4站缓存复查执行单-2026-04-18.md
Normal file
22
docs/gpt-template-seo/02-GPT模板首批4站缓存复查执行单-2026-04-18.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# 02 GPT模板首批4站缓存复查执行单 2026-04-18
|
||||
|
||||
首批执行对象:
|
||||
|
||||
1. `jingxifa.com`
|
||||
2. `lcdchq.com`
|
||||
3. `cnzhenbang.com`
|
||||
4. `oronorent.com`
|
||||
|
||||
## 今日动作
|
||||
|
||||
1. 清缓存
|
||||
2. 跑 `curl`
|
||||
3. 对照 `?__nocache=1`
|
||||
4. 写回结果
|
||||
|
||||
## 结果入口
|
||||
|
||||
1. 现场执行:
|
||||
- [06-GPT模板curl复查与判读索引-2026-04-18.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/06-GPT模板curl复查与判读索引-2026-04-18.md)
|
||||
2. 执行后汇总:
|
||||
- [05-GPT模板首批4站执行后汇总-2026-04-18.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/05-GPT模板首批4站执行后汇总-2026-04-18.md)
|
||||
149
docs/gpt-template-seo/03-GPT模板每日复盘模板-2026-04-18.md
Normal file
149
docs/gpt-template-seo/03-GPT模板每日复盘模板-2026-04-18.md
Normal file
@@ -0,0 +1,149 @@
|
||||
# 03 GPT模板每日复盘模板 2026-04-18
|
||||
|
||||
这份文档用于承接 GPT 模板线每天的最小复盘结果。
|
||||
|
||||
目标不是写长文,而是确保第二天接手时能一眼看懂:
|
||||
|
||||
1. 今天看了哪些域名
|
||||
2. 今天新增了什么蜘蛛信号
|
||||
3. 哪些站已经可以降级
|
||||
4. 哪些站明天还要继续盯
|
||||
|
||||
建议配合:
|
||||
|
||||
- [04-GPT模板A-B组日志跟踪板-2026-04-18.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/04-GPT模板A-B组日志跟踪板-2026-04-18.md)
|
||||
- [2026-04-18-GPT模板SEO公共主线汇总.md](/www/wwwroot/diff-maccms/SEONexus/docs/2026-04-18-GPT模板SEO公共主线汇总.md)
|
||||
- [2026-04-18-A组6站-蜘蛛回访分析.md](/www/wwwroot/diff-maccms/SEONexus/docs/2026-04-18-A组6站-蜘蛛回访分析.md)
|
||||
- [2026-04-18-B组9站-蜘蛛回访分析.md](/www/wwwroot/diff-maccms/SEONexus/docs/2026-04-18-B组9站-蜘蛛回访分析.md)
|
||||
|
||||
## 每日复盘
|
||||
|
||||
- 日期:
|
||||
- 复盘人:
|
||||
- 今日处理域名:
|
||||
- 今日查看日志时间窗口:
|
||||
- 今日是否执行清缓存:
|
||||
- 今日是否执行 `curl` 对照:
|
||||
|
||||
## 今日新增日志结论
|
||||
|
||||
按最重要的 3 到 5 条写,不要铺太开。
|
||||
|
||||
1.
|
||||
2.
|
||||
3.
|
||||
4.
|
||||
5.
|
||||
|
||||
## 今日缓存复查结论
|
||||
|
||||
### 已恢复一致
|
||||
|
||||
1.
|
||||
2.
|
||||
3.
|
||||
|
||||
### 仍需继续跟缓存
|
||||
|
||||
1.
|
||||
2.
|
||||
3.
|
||||
|
||||
### 疑似不是缓存问题
|
||||
|
||||
1.
|
||||
2.
|
||||
3.
|
||||
|
||||
## 今日新增正向信号
|
||||
|
||||
只记真正有价值的信号:
|
||||
|
||||
1. 新增 sitemap 抓取
|
||||
2. 新增搜索页命中
|
||||
3. 新增详情页命中
|
||||
4. 新增播放页命中
|
||||
5. 新增重复回访
|
||||
|
||||
填写:
|
||||
|
||||
1.
|
||||
2.
|
||||
3.
|
||||
|
||||
## 今日风险项
|
||||
|
||||
只写明天还会继续影响判断的风险:
|
||||
|
||||
1. 旧缓存仍未刷新
|
||||
2. `robots.txt` 状态不稳定
|
||||
3. `sitemap.xml` 异常
|
||||
4. 旧测试探针仍在干扰判断
|
||||
5. 普通访问与 `?__nocache=1` 仍不一致
|
||||
|
||||
填写:
|
||||
|
||||
1.
|
||||
2.
|
||||
3.
|
||||
|
||||
## 明日优先处理
|
||||
|
||||
按优先级写,不要超过 5 条。
|
||||
|
||||
1.
|
||||
2.
|
||||
3.
|
||||
4.
|
||||
5.
|
||||
|
||||
## 一句话复盘
|
||||
|
||||
-
|
||||
|
||||
## 极简示例
|
||||
|
||||
```md
|
||||
- 日期:2026-04-19
|
||||
- 复盘人:Codex / 团队
|
||||
- 今日处理域名:jingxifa.com、lcdchq.com、cnzhenbang.com、oronorent.com
|
||||
- 今日查看日志时间窗口:2026-04-18 00:00:00 ~ 2026-04-18 23:59:59
|
||||
- 今日是否执行清缓存:是
|
||||
- 今日是否执行 curl 对照:是
|
||||
|
||||
## 今日新增日志结论
|
||||
|
||||
1. jingxifa.com 继续有 detail / play 命中,链路未掉。
|
||||
2. lcdchq.com 仍未见真实搜索页回访,当前优先级仍是缓存复查。
|
||||
3. cnzhenbang.com 仍以 robots / category 为主,暂未进入深页层。
|
||||
|
||||
## 今日缓存复查结论
|
||||
|
||||
### 已恢复一致
|
||||
|
||||
1. jingxifa.com
|
||||
|
||||
### 仍需继续跟缓存
|
||||
|
||||
1. lcdchq.com
|
||||
2. oronorent.com
|
||||
|
||||
### 疑似不是缓存问题
|
||||
|
||||
1. 暂无
|
||||
|
||||
## 今日风险项
|
||||
|
||||
1. lcdchq.com 普通访问仍落后于 ?__nocache=1
|
||||
2. cnzhenbang.com 还没有真实 detail / play 回访
|
||||
|
||||
## 明日优先处理
|
||||
|
||||
1. 继续看 4 站最新蜘蛛日志
|
||||
2. 复查 lcdchq.com 与 oronorent.com
|
||||
3. 看 cnzhenbang.com 是否开始进入 detail 层
|
||||
|
||||
## 一句话复盘
|
||||
|
||||
- GPT 模板线今天没有新增结构性故障,重点仍在缓存收口和深页回访扩张。
|
||||
```
|
||||
111
docs/gpt-template-seo/04-GPT模板A-B组日志跟踪板-2026-04-18.md
Normal file
111
docs/gpt-template-seo/04-GPT模板A-B组日志跟踪板-2026-04-18.md
Normal file
@@ -0,0 +1,111 @@
|
||||
# 04 GPT模板A-B组日志跟踪板 2026-04-18
|
||||
|
||||
这份文档用于把 GPT 模板线的 A / B 组蜘蛛回访和缓存复查统一收口。
|
||||
|
||||
建议用法:
|
||||
|
||||
1. 根目录 A / B 文档继续记录原始事实
|
||||
2. 这份文档只收口“当前重点、当前状态、下一步”
|
||||
3. 每次看完新日志后,只更新发生变化的域名
|
||||
|
||||
## A组
|
||||
|
||||
对应根目录事实记录:
|
||||
|
||||
- [2026-04-18-A组6站-蜘蛛回访分析.md](/www/wwwroot/diff-maccms/SEONexus/docs/2026-04-18-A组6站-蜘蛛回访分析.md)
|
||||
|
||||
当前重点域名:
|
||||
|
||||
1. `jingxifa.com`
|
||||
2. `cnzhenbang.com`
|
||||
|
||||
当前关注点:
|
||||
|
||||
1. 是否出现新的 detail / play 命中
|
||||
2. 清缓存后普通访问是否追上 `?__nocache=1`
|
||||
|
||||
### 当前状态板
|
||||
|
||||
| 域名 | 当前定位 | 当前状态 | 下一步 |
|
||||
|---|---|---|---|
|
||||
| `jingxifa.com` | 缓存滞后优先站 | 已有 detail / play 正向命中,重点看普通访问是否追上 `?__nocache=1` | 继续缓存复查 + 看回访是否扩大 |
|
||||
| `cnzhenbang.com` | 观察站 | 仍以 robots / category 为主,尚未形成真实深页命中 | 继续等日志,观察是否进入 detail 层 |
|
||||
| `liangzuan.net` | 观察站 | 当前窗口未见命中 | 看下一轮是否开始出现 sitemap / detail |
|
||||
| `codohealth.com` | 正向样本站 | 已有 detail 与 play-like 200 | 继续观察是否稳定重复回访 |
|
||||
| `gz-yxsw.com` | 首页层观察站 | 仍以首页层回访为主 | 继续等深页扩展 |
|
||||
| `glae.cc` | 首页层观察站 | 当前主要是首页与测试探针噪音 | 继续观察是否出现真实内容页命中 |
|
||||
|
||||
### A组明日优先动作
|
||||
|
||||
1. 继续盯 `jingxifa.com` 缓存复查结果
|
||||
2. 继续看 `cnzhenbang.com` 是否进入 detail / play
|
||||
3. 看 `codohealth.com` 是否继续扩大 deep page 回访
|
||||
|
||||
## B组
|
||||
|
||||
对应根目录事实记录:
|
||||
|
||||
- [2026-04-18-B组9站-蜘蛛回访分析.md](/www/wwwroot/diff-maccms/SEONexus/docs/2026-04-18-B组9站-蜘蛛回访分析.md)
|
||||
|
||||
当前重点域名:
|
||||
|
||||
1. `lcdchq.com`
|
||||
2. `oronorent.com`
|
||||
|
||||
当前关注点:
|
||||
|
||||
1. 清缓存后详情页 `h1` 是否恢复
|
||||
2. 是否还属于缓存滞后站
|
||||
|
||||
### 当前状态板
|
||||
|
||||
| 域名 | 当前定位 | 当前状态 | 下一步 |
|
||||
|---|---|---|---|
|
||||
| `lcdchq.com` | 缓存滞后优先站 | 已有 detail 200,但普通访问仍落后于 `?__nocache=1` | 继续缓存复查 |
|
||||
| `oronorent.com` | 缓存滞后优先站 | 已有单点 detail 200,仍需先排除旧缓存影响 | 继续缓存复查 + 观察深页扩展 |
|
||||
| `lgyz.net` | 正向样本站 | 已有 detail / play 命中,但状态不够稳定 | 继续看是否稳定放量 |
|
||||
| `jpjdxs.com` | 正向观察站 | detail / play 样式路径已能被抓到 200 | 看搜索页是否开始真实回访 |
|
||||
| `gxhongzhuang.com` | detail 观察站 | 已见 detail 200 | 继续观察是否进入 play |
|
||||
| `jxxgygy.com` | 风险观察站 | `/sitemap.xml => 444` 需后续复核 | 单独列为风险项 |
|
||||
| `leici1940.com` | play 观察站 | 已见 play-like 命中 | 看首页和 detail 是否跟上 |
|
||||
| `pcslcl.com` | 弱站 | 当前仍偏 robots 层 | 等下一轮日志 |
|
||||
| `sdxtwnc.com` | 弱站 | 当前仍偏首页层 | 等下一轮日志 |
|
||||
|
||||
### B组明日优先动作
|
||||
|
||||
1. 继续盯 `lcdchq.com`
|
||||
2. 继续盯 `oronorent.com`
|
||||
3. 看 `lgyz.net` 是否稳定形成 detail -> play
|
||||
4. 复核 `jxxgygy.com` 的 sitemap 风险
|
||||
|
||||
## 当前建议
|
||||
|
||||
1. A / B 组的原始事实继续写在 `docs/` 根目录文档
|
||||
2. GPT 专属目录负责做节奏管理、跟踪板和阶段汇总
|
||||
3. 每日复盘优先写到 [03-GPT模板每日复盘模板-2026-04-18.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/03-GPT模板每日复盘模板-2026-04-18.md)
|
||||
|
||||
## 当前全局优先级
|
||||
|
||||
### P0
|
||||
|
||||
1. `jingxifa.com`
|
||||
2. `lcdchq.com`
|
||||
3. `cnzhenbang.com`
|
||||
4. `oronorent.com`
|
||||
|
||||
### P1
|
||||
|
||||
1. `codohealth.com`
|
||||
2. `lgyz.net`
|
||||
3. `jpjdxs.com`
|
||||
|
||||
### P2
|
||||
|
||||
1. `liangzuan.net`
|
||||
2. `gz-yxsw.com`
|
||||
3. `glae.cc`
|
||||
4. `gxhongzhuang.com`
|
||||
5. `jxxgygy.com`
|
||||
6. `leici1940.com`
|
||||
7. `pcslcl.com`
|
||||
8. `sdxtwnc.com`
|
||||
12
docs/gpt-template-seo/05-GPT模板首批4站执行后汇总-2026-04-18.md
Normal file
12
docs/gpt-template-seo/05-GPT模板首批4站执行后汇总-2026-04-18.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# 05 GPT模板首批4站执行后汇总 2026-04-18
|
||||
|
||||
统一看:
|
||||
|
||||
1. 哪些站已恢复一致
|
||||
2. 哪些站仍需继续跟缓存
|
||||
3. 哪些站需要回模板 / 路由层
|
||||
|
||||
执行后结果请同步参考:
|
||||
|
||||
- [2026-04-18-首批4站执行后结果汇总页.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-首批4站执行后结果汇总页.md)
|
||||
- [2026-04-18-首批4站执行后结果汇总页.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-首批4站执行后结果汇总页.md)
|
||||
13
docs/gpt-template-seo/06-GPT模板curl复查与判读索引-2026-04-18.md
Normal file
13
docs/gpt-template-seo/06-GPT模板curl复查与判读索引-2026-04-18.md
Normal file
@@ -0,0 +1,13 @@
|
||||
# 06 GPT模板curl复查与判读索引 2026-04-18
|
||||
|
||||
## 命令
|
||||
|
||||
- [2026-04-18-首批4站-curl复查命令清单.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-首批4站-curl复查命令清单.md)
|
||||
|
||||
## 判读
|
||||
|
||||
- [2026-04-18-首批4站-curl结果判读表.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-首批4站-curl结果判读表.md)
|
||||
|
||||
## 现场执行
|
||||
|
||||
- [2026-04-18-首批4站现场执行顺序汇总.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-首批4站现场执行顺序汇总.md)
|
||||
11
docs/gpt-template-seo/07-GPT模板交接说明-2026-04-18.md
Normal file
11
docs/gpt-template-seo/07-GPT模板交接说明-2026-04-18.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# 07 GPT模板交接说明 2026-04-18
|
||||
|
||||
如果是新的 Codex 会话或临时接手,先看:
|
||||
|
||||
1. [00-GPT模板SEO公共总览-2026-04-18.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/00-GPT模板SEO公共总览-2026-04-18.md)
|
||||
2. [01-GPT模板7天SEO执行主线-2026-04-18.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/01-GPT模板7天SEO执行主线-2026-04-18.md)
|
||||
3. [07-GPT模板交接说明-2026-04-18.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/07-GPT模板交接说明-2026-04-18.md)
|
||||
|
||||
一句话:
|
||||
|
||||
> GPT 模板这条线现在重点不是继续扩文档,而是等新蜘蛛日志、继续跟首批 4 站缓存复查结果,并把阶段性结论同步回 `docs/` 根目录公共主线。
|
||||
327
docs/gpt-template-seo/08-GPT模板其它服务器更新交接-2026-04-18.md
Normal file
327
docs/gpt-template-seo/08-GPT模板其它服务器更新交接-2026-04-18.md
Normal file
@@ -0,0 +1,327 @@
|
||||
# 08 GPT模板其它服务器最新版对齐交接 2026-04-18
|
||||
|
||||
这份文档给“其它服务器上的 Codex / 接手同学”使用。
|
||||
|
||||
目标不是让对方自己猜,而是让对方直接知道:
|
||||
|
||||
1. 这次要同步的是哪一条线
|
||||
2. 哪些文件必须一起更新
|
||||
3. 上线后先验什么
|
||||
4. 出现异常时先查哪里
|
||||
|
||||
## 1. 先定边界
|
||||
|
||||
这次不是“从老模板迁到 GPT 模板”。
|
||||
|
||||
前提是:
|
||||
|
||||
1. 目标服务器原本就是 GPT 模板
|
||||
2. 目标服务器也在跑 `videoGpt1`
|
||||
3. 现在要做的是把它对齐到当前这台机器的最新 GPT 主线版本
|
||||
|
||||
这次同步的不是老模板,也不是全站所有样式。
|
||||
|
||||
这次同步的是:
|
||||
|
||||
1. `videoGpt1` 这条 GPT 模板线
|
||||
2. GPT 模板详情 / 播放 / 搜索页 SEO 修复
|
||||
3. slug-only 详情兜底
|
||||
4. sitemap 修复
|
||||
5. 前台详情异常补充日志
|
||||
|
||||
不要混入:
|
||||
|
||||
1. `1001-1005` 老模板
|
||||
2. 其它组还没更新到当前 GPT 主线版本的站
|
||||
3. 与 GPT 模板无关的历史试验文件
|
||||
|
||||
## 2. 这次同步的核心目标
|
||||
|
||||
把“原本也是 GPT 模板”的其它服务器,对齐到当前主线,重点保证下面 5 件事:
|
||||
|
||||
1. slug-only 详情页不要再硬 `404`
|
||||
2. `/detail/pinyin-xxx` 这类链接能兜底到真实详情页
|
||||
3. sitemap 主入口和视频分页正常
|
||||
4. GPT 模板搜索页 / 播放页 / 详情页主标题正常
|
||||
5. 如果前台详情页再出现 ThinkPHP 错页,能在日志里抓到异常栈
|
||||
|
||||
## 3. 必须同步的代码文件
|
||||
|
||||
下面这些文件建议按“必须同步”处理,不要只挑一半。
|
||||
|
||||
### 3.1 路由与详情兜底
|
||||
|
||||
- [SiteContext.php](/www/wwwroot/diff-maccms/SEONexus/code/app/services/SiteContext.php)
|
||||
- [VideoService.php](/www/wwwroot/diff-maccms/SEONexus/code/app/services/VideoService.php)
|
||||
- [router.php](/www/wwwroot/diff-maccms/SEONexus/code/app/home/config/router.php)
|
||||
|
||||
这一组负责:
|
||||
|
||||
1. 域名上下文正确落到 GPT 站
|
||||
2. `/detail/:strPinyin`
|
||||
3. `/detail/pinyin-:strPinyin`
|
||||
4. slug-only 详情 fallback
|
||||
5. 播放路由的详情取数兼容
|
||||
|
||||
### 3.2 sitemap 修复
|
||||
|
||||
- [VideoSiteMapLogic.php](/www/wwwroot/diff-maccms/SEONexus/code/app/task/logic/VideoSiteMapLogic.php)
|
||||
- [SiteMapLogic.php](/www/wwwroot/diff-maccms/SEONexus/code/app/task/logic/SiteMapLogic.php)
|
||||
|
||||
这一组负责:
|
||||
|
||||
1. sitemap 目录递归创建
|
||||
2. 详情 URL slug 规范化
|
||||
3. 空 slug 回退
|
||||
|
||||
### 3.3 前台异常抓栈
|
||||
|
||||
- [ExceptionHandle.php](/www/wwwroot/diff-maccms/SEONexus/code/app/ExceptionHandle.php)
|
||||
|
||||
这一项是这次补的关键兜底。
|
||||
|
||||
作用:
|
||||
|
||||
1. 当前台 detail / play 类请求再出现 ThinkPHP 错页
|
||||
2. 自动记录 host、url、route 参数、UA、异常 message、file、line
|
||||
3. 方便后续按时间点抓栈
|
||||
|
||||
### 3.4 GPT 模板详情 / 播放 / 搜索页模板
|
||||
|
||||
- [getVideoInfo.html](/www/wwwroot/diff-maccms/SEONexus/code/app/home/view/videoGpt1/video/getVideoInfo.html)
|
||||
- [getVideoPlayUrl.html](/www/wwwroot/diff-maccms/SEONexus/code/app/home/view/videoGpt1/video/getVideoPlayUrl.html)
|
||||
- [dplayer.html](/www/wwwroot/diff-maccms/SEONexus/code/app/home/view/videoGpt1/module/player/engine/dplayer.html)
|
||||
- [title.html](/www/wwwroot/diff-maccms/SEONexus/code/app/home/view/videoGpt1/module/detail_main/title.html)
|
||||
|
||||
搜索页:
|
||||
|
||||
- [search_header_simple.html](/www/wwwroot/diff-maccms/SEONexus/code/app/home/view/videoGpt1/module/search/search_header_simple.html)
|
||||
- [search_header_seo.html](/www/wwwroot/diff-maccms/SEONexus/code/app/home/view/videoGpt1/module/search/search_header_seo.html)
|
||||
- [search_header_rich.html](/www/wwwroot/diff-maccms/SEONexus/code/app/home/view/videoGpt1/module/search/search_header_rich.html)
|
||||
- [search_header_centered.html](/www/wwwroot/diff-maccms/SEONexus/code/app/home/view/videoGpt1/module/search/search_header_centered.html)
|
||||
- [search_header_media.html](/www/wwwroot/diff-maccms/SEONexus/code/app/home/view/videoGpt1/module/search/search_header_media.html)
|
||||
|
||||
播放页:
|
||||
|
||||
- [play_01.html](/www/wwwroot/diff-maccms/SEONexus/code/app/home/view/videoGpt1/module/play/play_01.html)
|
||||
- [play_02.html](/www/wwwroot/diff-maccms/SEONexus/code/app/home/view/videoGpt1/module/play/play_02.html)
|
||||
- [play_03.html](/www/wwwroot/diff-maccms/SEONexus/code/app/home/view/videoGpt1/module/play/play_03.html)
|
||||
- [play_04.html](/www/wwwroot/diff-maccms/SEONexus/code/app/home/view/videoGpt1/module/play/play_04.html)
|
||||
- [play_05.html](/www/wwwroot/diff-maccms/SEONexus/code/app/home/view/videoGpt1/module/play/play_05.html)
|
||||
|
||||
## 4. 推荐同步顺序
|
||||
|
||||
不要乱序,建议按下面顺序做:
|
||||
|
||||
1. 先同步服务层与路由:
|
||||
- `SiteContext.php`
|
||||
- `VideoService.php`
|
||||
- `router.php`
|
||||
2. 再同步 sitemap:
|
||||
- `VideoSiteMapLogic.php`
|
||||
- `SiteMapLogic.php`
|
||||
3. 再同步 GPT 模板:
|
||||
- `getVideoInfo.html`
|
||||
- `getVideoPlayUrl.html`
|
||||
- 搜索页模板
|
||||
- 播放页模板
|
||||
- `detail_main/title.html`
|
||||
4. 最后同步异常处理:
|
||||
- `ExceptionHandle.php`
|
||||
|
||||
原因:
|
||||
|
||||
1. 先保证路由和取数能通
|
||||
2. 再保证 sitemap 不继续产坏链
|
||||
3. 再保证页面展示层正常
|
||||
4. 最后补抓栈,方便后续继续盯
|
||||
|
||||
## 5. 其它服务器接手 Codex 的执行步骤
|
||||
|
||||
### 第一步:先确认该服务器是不是同一条 GPT 模板线
|
||||
|
||||
先确认目标站是否真的使用 `videoGpt1`。
|
||||
|
||||
如果不是,就不要直接照搬这份文档。
|
||||
|
||||
如果是,就按“同模板线升级”处理,不要按“跨模板迁移”处理。
|
||||
|
||||
### 第二步:同步上面的必须文件
|
||||
|
||||
如果是同一套 GPT 模板代码目录,优先直接按文件覆盖同步。
|
||||
|
||||
如果是人工搬运,至少保证:
|
||||
|
||||
1. 服务层 3 个文件一起到位
|
||||
2. sitemap 2 个文件一起到位
|
||||
3. GPT 模板文件整组到位
|
||||
4. `ExceptionHandle.php` 最后到位
|
||||
|
||||
### 第三步:清理运行时缓存
|
||||
|
||||
同步完代码后,至少做一次运行时清理,避免旧编译模板或旧路由缓存继续干扰。
|
||||
|
||||
重点关注:
|
||||
|
||||
1. 模板缓存
|
||||
2. runtime 缓存
|
||||
3. sitemap 输出缓存
|
||||
|
||||
如果接手的 Codex 不确定怎么清,就先只做安全清理,不要删业务数据。
|
||||
|
||||
### 第四步:先验 4 类 URL
|
||||
|
||||
每台 GPT 服务器完成最新版对齐后,至少要验这 4 类:
|
||||
|
||||
1. 首页
|
||||
2. 搜索页
|
||||
3. 详情页
|
||||
4. 播放页
|
||||
|
||||
## 6. 上线后最小验收清单
|
||||
|
||||
### 6.1 详情页兜底
|
||||
|
||||
至少抽查 2 类:
|
||||
|
||||
1. 正常详情 URL
|
||||
2. slug-only / pinyin 详情 URL
|
||||
|
||||
例如:
|
||||
|
||||
```text
|
||||
/detail/pinyin-xxxxx
|
||||
/film/slug/id
|
||||
/movie/id-slug
|
||||
```
|
||||
|
||||
通过标准:
|
||||
|
||||
1. 返回 `200`
|
||||
2. canonical 正常
|
||||
3. 页面主 `h1` 正常
|
||||
4. 不再硬跳 ThinkPHP 错页
|
||||
|
||||
### 6.2 搜索页
|
||||
|
||||
通过标准:
|
||||
|
||||
1. 搜索页 `h1` 有内容
|
||||
2. 不再空标题
|
||||
3. 搜索结果页 title / canonical 正常
|
||||
|
||||
### 6.3 播放页
|
||||
|
||||
通过标准:
|
||||
|
||||
1. 播放页主标题正常
|
||||
2. 标题不再掉成空值
|
||||
3. 能从播放页正常回到详情页
|
||||
|
||||
### 6.4 sitemap
|
||||
|
||||
至少验:
|
||||
|
||||
1. `/sitemap.xml`
|
||||
2. `/sitemap_index.xml`
|
||||
3. `/sitemap-main.xml`
|
||||
|
||||
通过标准:
|
||||
|
||||
1. 返回 `200`
|
||||
2. 能打开
|
||||
3. 详情 URL 不再明显带空 slug
|
||||
|
||||
## 7. 推荐验收命令
|
||||
|
||||
### 看状态码
|
||||
|
||||
```bash
|
||||
curl -I -L -s 'https://example.com/detail/pinyin-xxx'
|
||||
```
|
||||
|
||||
### 看 nocache
|
||||
|
||||
```bash
|
||||
curl -I -L -s 'https://example.com/detail/pinyin-xxx?__nocache=1'
|
||||
```
|
||||
|
||||
### 抽取 title / canonical / h1
|
||||
|
||||
```bash
|
||||
curl -L -s 'https://example.com/detail/pinyin-xxx' | rg -o '<title>.*?</title>|<link rel=\"canonical\".*?>|<h1[^>]*>.*?</h1>' -N
|
||||
```
|
||||
|
||||
## 8. 如果仍出现 ThinkPHP 错页,先怎么查
|
||||
|
||||
这次已经补了前台 detail/play 异常日志。
|
||||
|
||||
如果其它服务器也同步了 [ExceptionHandle.php](/www/wwwroot/diff-maccms/SEONexus/code/app/ExceptionHandle.php),下次再出现:
|
||||
|
||||
1. 先记下精确时间
|
||||
- 例如:`2026-04-18 14:23:15 +08:00`
|
||||
2. 记下完整 URL
|
||||
3. 去 runtime 日志里搜:
|
||||
- `frontend_detail_exception`
|
||||
|
||||
重点看:
|
||||
|
||||
1. `host`
|
||||
2. `url`
|
||||
3. `route.strPinyin`
|
||||
4. `route.intVId`
|
||||
5. `exception_message`
|
||||
6. `exception_file`
|
||||
7. `exception_line`
|
||||
|
||||
## 9. 给其它服务器 Codex 的接手话术
|
||||
|
||||
可以直接复制这段给对方:
|
||||
|
||||
```text
|
||||
这次不是把别的模板迁到 GPT。
|
||||
|
||||
目标服务器原本也是 GPT 模板,现在要做的是把它对齐到当前最新 GPT 主线版本。
|
||||
|
||||
请只处理 videoGpt1 相关代码,不要混入 1001-1005 老模板。
|
||||
|
||||
必须一起同步:
|
||||
1. app/services/SiteContext.php
|
||||
2. app/services/VideoService.php
|
||||
3. app/home/config/router.php
|
||||
4. app/task/logic/VideoSiteMapLogic.php
|
||||
5. app/task/logic/SiteMapLogic.php
|
||||
6. app/ExceptionHandle.php
|
||||
7. app/home/view/videoGpt1/video/getVideoInfo.html
|
||||
8. app/home/view/videoGpt1/video/getVideoPlayUrl.html
|
||||
9. app/home/view/videoGpt1/module/detail_main/title.html
|
||||
10. app/home/view/videoGpt1/module/player/engine/dplayer.html
|
||||
11. app/home/view/videoGpt1/module/search/ 下 5 个搜索页模板
|
||||
12. app/home/view/videoGpt1/module/play/ 下 5 个播放页模板
|
||||
|
||||
更新完成后先验:
|
||||
1. 首页
|
||||
2. 搜索页
|
||||
3. 详情页
|
||||
4. 播放页
|
||||
5. sitemap.xml / sitemap_index.xml / sitemap-main.xml
|
||||
|
||||
重点确认:
|
||||
1. slug-only 详情不再 404
|
||||
2. 搜索页 h1 正常
|
||||
3. 播放页 h1 正常
|
||||
4. canonical 正常
|
||||
5. 如再出现 ThinkPHP 错页,去查 frontend_detail_exception 日志
|
||||
```
|
||||
|
||||
## 10. 接手前建议先看
|
||||
|
||||
先看这些文档再动代码:
|
||||
|
||||
1. [README.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/README.md)
|
||||
2. [00-GPT模板SEO公共总览-2026-04-18.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/00-GPT模板SEO公共总览-2026-04-18.md)
|
||||
3. [07-GPT模板交接说明-2026-04-18.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/07-GPT模板交接说明-2026-04-18.md)
|
||||
|
||||
## 11. 一句话结论
|
||||
|
||||
> 其它服务器如果原本也是 GPT 模板,现在要对齐到当前最新版,不要只改几个模板文件,必须把路由、服务层、sitemap 和异常抓栈一起同步,否则最容易出现“页面样式像更新了,但 slug 详情 / sitemap / 偶发异常仍停在旧版本”的半更新问题。
|
||||
860
docs/gpt-template-seo/2026-04-17-GPT站群优先推收录名单.md
Normal file
860
docs/gpt-template-seo/2026-04-17-GPT站群优先推收录名单.md
Normal file
@@ -0,0 +1,860 @@
|
||||
# 2026-04-17 GPT 站群优先推收录名单
|
||||
|
||||
## 结论
|
||||
|
||||
当前 GPT 站群已经完成以下基础修复:
|
||||
|
||||
- 详情无 id 兼容恢复
|
||||
- 深链 `HEAD` 兼容恢复
|
||||
- `sitemap.xml` / `sitemap_index.xml` / `sitemap-main.xml` / `sitemap-videos-*.xml` 恢复
|
||||
- sitemap 空 slug 问题已修复
|
||||
- 15 站首页 → 搜索 → 详情 → 播放轨迹探针全部通过
|
||||
|
||||
因此,当前工作重心可以从“修基础可用性”切到“优先推收录 + 定点清缓存 + 提升页面质量”。
|
||||
|
||||
## Tier 1:优先推收录域名
|
||||
|
||||
以下域名适合作为第一批重点推收录对象:
|
||||
|
||||
1. `liangzuan.net`
|
||||
2. `cnzhenbang.com`
|
||||
3. `codohealth.com`
|
||||
4. `jingxifa.com`
|
||||
5. `gz-yxsw.com`
|
||||
6. `glae.cc`
|
||||
7. `gxhongzhuang.com`
|
||||
8. `jpjdxs.com`
|
||||
9. `jxxgygy.com`
|
||||
10. `lcdchq.com`
|
||||
11. `leici1940.com`
|
||||
12. `lgyz.net`
|
||||
13. `oronorent.com`
|
||||
14. `pcslcl.com`
|
||||
15. `sdxtwnc.com`
|
||||
|
||||
### 入选原因
|
||||
|
||||
- 自动样本发现成功
|
||||
- 首页、搜索、详情、播放全部 `200`
|
||||
- sitemap 主入口和视频分页已恢复
|
||||
- 详情 URL 与播放 URL 可直接访问
|
||||
- URL family 已覆盖多种风格,适合验证批量推收录效果
|
||||
|
||||
## Tier 1 中更适合率先推进的前 6 站
|
||||
|
||||
### 第一梯队
|
||||
|
||||
1. `liangzuan.net`
|
||||
2. `cnzhenbang.com`
|
||||
3. `codohealth.com`
|
||||
4. `jingxifa.com`
|
||||
5. `gz-yxsw.com`
|
||||
6. `glae.cc`
|
||||
|
||||
### 原因
|
||||
|
||||
- 前期排障最充分,链路验证最完整
|
||||
- 已明确恢复 sitemap、详情深链、播放深链
|
||||
- 多种 URL family 代表性强,适合作为样板观察收录速度
|
||||
|
||||
## 当前页面质量观察
|
||||
|
||||
### 已通过的质量信号
|
||||
|
||||
- 首页标题整体可用
|
||||
- 首页描述整体可用
|
||||
- 详情页标题整体可用
|
||||
- 详情页主标题在无缓存状态下大多数已恢复为纯净视频名
|
||||
|
||||
### 仍需关注的问题
|
||||
|
||||
- 个别站普通访问仍命中旧缓存 HTML
|
||||
- 典型表现:
|
||||
- `h1` 为空
|
||||
- `h1` 带 `0.0`
|
||||
- `h1` 命中旧变体
|
||||
|
||||
## 明确属于“缓存滞后”的站
|
||||
|
||||
以下站点已确认代码修复生效,但普通访问仍可能看到旧 HTML:
|
||||
|
||||
1. `jingxifa.com`
|
||||
- 普通访问:`武炼巅峰(短剧) 0.0`
|
||||
- `?__nocache=1`:`武炼巅峰(短剧)`
|
||||
2. `lcdchq.com`
|
||||
- 普通访问:`武炼巅峰(短剧) 0.0`
|
||||
- `?__nocache=1`:`武炼巅峰(短剧)`
|
||||
3. `cnzhenbang.com`
|
||||
- 普通访问:`h1` 为空
|
||||
- `?__nocache=1`:`武炼巅峰(短剧)`
|
||||
4. `oronorent.com`
|
||||
- 普通访问:`h1` 为空
|
||||
- `?__nocache=1`:`武炼巅峰(短剧)`
|
||||
|
||||
### 说明
|
||||
|
||||
- 上述站点不是代码没生效
|
||||
- 已确认 `?__nocache=1` 返回的是新 HTML
|
||||
- 因此这批站优先动作应是前端缓存刷新,而不是继续改模板
|
||||
|
||||
## 需继续观察但不视为阻塞的问题
|
||||
|
||||
1. `glae.cc`
|
||||
- `h1` 仍显示 `武炼巅峰(短剧) 2026`
|
||||
- 当前更像模板变体中保留了合法年份展示,不属于空值或脏分数问题
|
||||
- 可后续再决定是否进一步统一收敛
|
||||
|
||||
## 建议执行顺序
|
||||
|
||||
1. 先推 Tier 1 前 6 站的 sitemap 与收录提交
|
||||
2. 同步清理 `jingxifa.com`、`lcdchq.com`、`cnzhenbang.com`、`oronorent.com` 的前端缓存
|
||||
3. 清缓存后复查:
|
||||
- 首页标题
|
||||
- 详情页 `h1`
|
||||
- 详情页 canonical
|
||||
- 播放页主标题
|
||||
4. 再推进剩余 Tier 1 域名
|
||||
|
||||
## 当前判断
|
||||
|
||||
这批 GPT 站已经不是“能不能收录”的问题,而是“先让哪一批更快进入收录与点击验证”的问题。
|
||||
|
||||
优先策略建议:
|
||||
|
||||
- 先拿前 6 站冲收录反馈
|
||||
- 再拿缓存已刷新的站观察蜘蛛回访与详情页命中
|
||||
- 最后再扩展到全部 15 站
|
||||
|
||||
## 2026-04-17 搜索页 / 播放页质量抽样补充
|
||||
|
||||
本轮不再只看 `200`,而是补验:
|
||||
|
||||
- 搜索页 `h1`
|
||||
- 搜索页 canonical
|
||||
- 播放页 `h1`
|
||||
- 播放页 canonical
|
||||
|
||||
### 已抽样站点
|
||||
|
||||
1. `liangzuan.net`
|
||||
- 搜索页:
|
||||
- `h1 => “liangzuan.net” 搜索结果`
|
||||
- canonical 正常
|
||||
- 播放页:
|
||||
- `h1 => 武炼巅峰(短剧) 全集`
|
||||
- canonical 正常
|
||||
|
||||
2. `cnzhenbang.com`
|
||||
- 搜索页:
|
||||
- `h1 => 菜鸟臻榜 搜索结果`
|
||||
- canonical 正常
|
||||
- 播放页:
|
||||
- `h1 => 武炼巅峰(短剧) 全集`
|
||||
- canonical 正常
|
||||
|
||||
3. `codohealth.com`
|
||||
- 搜索页:
|
||||
- `h1 => 东和影视 搜索结果`
|
||||
- canonical 正常
|
||||
- 播放页:
|
||||
- `h1 => 武炼巅峰(短剧) 全集`
|
||||
- canonical 正常
|
||||
|
||||
4. `jingxifa.com`
|
||||
- 搜索页:
|
||||
- `h1 => 京淅发影院 搜索结果`
|
||||
- canonical 正常
|
||||
- 播放页:
|
||||
- `h1 => 武炼巅峰(短剧) 全集`
|
||||
- canonical 正常
|
||||
|
||||
5. `gz-yxsw.com`
|
||||
- 搜索页:
|
||||
- `h1 => 光棍影院 搜索结果`
|
||||
- canonical 正常
|
||||
- 播放页:
|
||||
- `h1 => 武炼巅峰(短剧) 全集`
|
||||
- canonical 正常
|
||||
|
||||
### 结论
|
||||
|
||||
- 当前 5 个优先样本站:
|
||||
- 搜索页不再是空壳 `h1`
|
||||
- 播放页不再缺失 `h1`
|
||||
- canonical 主链均正常输出
|
||||
- 当前主问题已从“链路是否可用”转向“标题表达是否继续统一优化”
|
||||
|
||||
## 2026-04-17 第 1 组质量验收补充
|
||||
|
||||
继续抽检以下 5 个优先域名:
|
||||
|
||||
1. `glae.cc`
|
||||
2. `gxhongzhuang.com`
|
||||
3. `jpjdxs.com`
|
||||
4. `jxxgygy.com`
|
||||
5. `lcdchq.com`
|
||||
|
||||
验收结果:
|
||||
|
||||
1. `glae.cc`
|
||||
- 搜索页:
|
||||
- `h1 => 格拉尔影院 搜索结果`
|
||||
- canonical 正常
|
||||
- 播放页:
|
||||
- `h1 => 武炼巅峰(短剧) 全集`
|
||||
- canonical 正常
|
||||
|
||||
2. `gxhongzhuang.com`
|
||||
- 搜索页:
|
||||
- `h1 => 宏壮影院 搜索结果`
|
||||
- canonical 正常
|
||||
- 播放页:
|
||||
- `h1 => 武炼巅峰(短剧) 全集`
|
||||
- canonical 正常
|
||||
|
||||
3. `jpjdxs.com`
|
||||
- 初始发现:
|
||||
- 搜索页 `canonical` 正常
|
||||
- 但源码内 `h1 => NO_H1`
|
||||
- 根因:
|
||||
- 该站搜索头走的是 `search_header_media.html`
|
||||
- 该 family 全部变体只有 `figcaption`,没有任何 `h1`
|
||||
- 已修复:
|
||||
- 在 `app/home/view/videoGpt1/module/search/search_header_media.html` 主模板层补入稳定隐藏 `h1`
|
||||
- 修复后复查:
|
||||
- `h1 => 天堂影院 搜索结果`
|
||||
- canonical 正常
|
||||
- 播放页:
|
||||
- `h1 => 武炼巅峰(短剧) 全集`
|
||||
- canonical 正常
|
||||
|
||||
4. `jxxgygy.com`
|
||||
- 搜索页:
|
||||
- `h1 => 广源影院 搜索结果`
|
||||
- canonical 正常
|
||||
- 播放页:
|
||||
- `h1 => 武炼巅峰(短剧) 全集`
|
||||
- canonical 正常
|
||||
|
||||
5. `lcdchq.com`
|
||||
- 搜索页:
|
||||
- `h1 => 欧美影院 搜索结果`
|
||||
- canonical 正常
|
||||
- 播放页:
|
||||
- `h1 => 武炼巅峰(短剧) 全集`
|
||||
- canonical 正常
|
||||
|
||||
阶段结论:
|
||||
|
||||
- 第 1 组 5 站已全部通过“搜索页 H1 + 搜索 canonical + 播放页 H1 + 播放 canonical”验收
|
||||
- 本轮唯一真实结构性异常是 `jpjdxs.com` 搜索页缺失 `h1`
|
||||
- 该问题已完成修复,并验证生效
|
||||
|
||||
## 2026-04-17 第 2 组质量验收补充
|
||||
|
||||
继续抽检以下 5 个优先域名:
|
||||
|
||||
1. `leici1940.com`
|
||||
2. `lgyz.net`
|
||||
3. `oronorent.com`
|
||||
4. `pcslcl.com`
|
||||
5. `sdxtwnc.com`
|
||||
|
||||
验收结果:
|
||||
|
||||
1. `leici1940.com`
|
||||
- 搜索页:
|
||||
- `h1 => 仪电影院 搜索结果`
|
||||
- canonical 正常
|
||||
- 播放页:
|
||||
- `h1 => 武炼巅峰(短剧) 全集`
|
||||
- canonical 正常
|
||||
|
||||
2. `lgyz.net`
|
||||
- 搜索页:
|
||||
- `h1 => 龙港亚洲影院 搜索结果`
|
||||
- canonical 正常
|
||||
- 播放页:
|
||||
- `h1 => 武炼巅峰(短剧) 全集`
|
||||
- canonical 正常
|
||||
|
||||
3. `oronorent.com`
|
||||
- 搜索页:
|
||||
- `h1 => 奥诺影视 搜索结果`
|
||||
- canonical 正常
|
||||
- 播放页:
|
||||
- `h1 => 武炼巅峰(短剧) 全集`
|
||||
- canonical 正常
|
||||
|
||||
4. `pcslcl.com`
|
||||
- 搜索页:
|
||||
- `h1 => 磁力影视 搜索结果`
|
||||
- canonical 正常
|
||||
- 播放页:
|
||||
- `h1 => 武炼巅峰(短剧) 全集`
|
||||
- canonical 正常
|
||||
|
||||
5. `sdxtwnc.com`
|
||||
- 搜索页:
|
||||
- `h1 => “鑫拓影视” 搜索结果`
|
||||
- canonical 正常
|
||||
- 播放页:
|
||||
- `h1 => 武炼巅峰(短剧) 全集`
|
||||
- canonical 正常
|
||||
|
||||
阶段结论:
|
||||
|
||||
- 第 2 组 5 站全部通过“搜索页 H1 + 搜索 canonical + 播放页 H1 + 播放 canonical”验收
|
||||
- 本轮未发现新的结构性模板问题
|
||||
- 当前前两组共 10 个优先域名,已全部达到主链路质量可用状态
|
||||
|
||||
## 2026-04-17 优先 15 站总验收结论
|
||||
|
||||
截至当前,优先 15 个 GPT 域名已全部完成以下质量验收:
|
||||
|
||||
- 搜索页 `h1`
|
||||
- 搜索页 canonical
|
||||
- 播放页 `h1`
|
||||
- 播放页 canonical
|
||||
|
||||
### 已完成验收的 15 个域名
|
||||
|
||||
1. `liangzuan.net`
|
||||
2. `cnzhenbang.com`
|
||||
3. `codohealth.com`
|
||||
4. `jingxifa.com`
|
||||
5. `gz-yxsw.com`
|
||||
6. `glae.cc`
|
||||
7. `gxhongzhuang.com`
|
||||
8. `jpjdxs.com`
|
||||
9. `jxxgygy.com`
|
||||
10. `lcdchq.com`
|
||||
11. `leici1940.com`
|
||||
12. `lgyz.net`
|
||||
13. `oronorent.com`
|
||||
14. `pcslcl.com`
|
||||
15. `sdxtwnc.com`
|
||||
|
||||
### 总体结论
|
||||
|
||||
- 15 站搜索页 canonical 全部正常
|
||||
- 15 站播放页 canonical 全部正常
|
||||
- 15 站播放页 `h1` 已全部稳定为可识别主标题
|
||||
- 15 站搜索页 `h1` 已全部具备关键词承接能力
|
||||
|
||||
### 本轮唯一真实结构性问题
|
||||
|
||||
仅发现 1 个模板级结构问题:
|
||||
|
||||
1. `jpjdxs.com`
|
||||
- 搜索页源码缺失 `h1`
|
||||
- 根因是该站走 `search_header_media.html`
|
||||
- 该 family 历史版本全部变体只有 `figcaption`,没有 `h1`
|
||||
- 现已在 `app/home/view/videoGpt1/module/search/search_header_media.html` 模板层统一修复
|
||||
|
||||
这意味着:
|
||||
|
||||
- 本轮 15 站里,真正的新结构性问题只有 1 个
|
||||
- 且已经修复完成,不再是未解决状态
|
||||
|
||||
### 进入下一阶段后的关注点
|
||||
|
||||
当前这批站的重点已经从“结构是否合格”切换为“收录反馈是否开始出现”。
|
||||
|
||||
后续优先动作应为:
|
||||
|
||||
1. 继续按既定顺序推 sitemap 与收录提交
|
||||
2. 优先处理已知缓存滞后站:
|
||||
- `jingxifa.com`
|
||||
- `lcdchq.com`
|
||||
- `cnzhenbang.com`
|
||||
- `oronorent.com`
|
||||
3. 观察蜘蛛回访与首页/详情/播放命中情况
|
||||
4. 再决定是否继续精修标题文案细节
|
||||
|
||||
### 当前可执行判断
|
||||
|
||||
这 15 个优先域名,已经可以被视为“主链路质量达标、适合进入收录推进阶段”的站点池。
|
||||
|
||||
## 2026-04-17 收录推进执行清单
|
||||
|
||||
下面这份清单的目标,不是再做模板体检,而是让后续执行按统一节奏推进:
|
||||
|
||||
- 先推样板站
|
||||
- 再清缓存滞后站
|
||||
- 再扩大到全部 15 站
|
||||
- 最后统一看蜘蛛回访与日志反馈
|
||||
|
||||
### A 组:优先样板推收录
|
||||
|
||||
建议优先推进以下 6 个域名:
|
||||
|
||||
1. `liangzuan.net`
|
||||
2. `cnzhenbang.com`
|
||||
3. `codohealth.com`
|
||||
4. `jingxifa.com`
|
||||
5. `gz-yxsw.com`
|
||||
6. `glae.cc`
|
||||
|
||||
执行建议:
|
||||
|
||||
1. 先提交 `sitemap_index.xml`
|
||||
2. 再提交 `sitemap-main.xml`
|
||||
3. 如平台支持,再补提 `sitemap-videos-1.xml`
|
||||
4. 提交后优先观察:
|
||||
- 首页是否被回访
|
||||
- 搜索页是否被回访
|
||||
- 详情页是否开始出现蜘蛛命中
|
||||
- 播放页是否开始出现抓取
|
||||
|
||||
### B 组:缓存滞后优先处理
|
||||
|
||||
以下域名已确认 `?__nocache=1` 正常,但普通访问可能仍命中旧 HTML:
|
||||
|
||||
1. `jingxifa.com`
|
||||
2. `lcdchq.com`
|
||||
3. `cnzhenbang.com`
|
||||
4. `oronorent.com`
|
||||
|
||||
执行建议:
|
||||
|
||||
1. 优先刷新前端缓存
|
||||
2. 刷新后复查:
|
||||
- 首页标题
|
||||
- 详情页 `h1`
|
||||
- 搜索页 `h1`
|
||||
- 播放页 `h1`
|
||||
3. 若缓存刷新后仍异常,再回到模板或路由层继续排查
|
||||
|
||||
### C 组:其余域名按稳定批次推进
|
||||
|
||||
其余 9 个域名可以按稳定批次推进收录:
|
||||
|
||||
1. `gxhongzhuang.com`
|
||||
2. `jpjdxs.com`
|
||||
3. `jxxgygy.com`
|
||||
4. `lcdchq.com`
|
||||
5. `leici1940.com`
|
||||
6. `lgyz.net`
|
||||
7. `oronorent.com`
|
||||
8. `pcslcl.com`
|
||||
9. `sdxtwnc.com`
|
||||
|
||||
执行建议:
|
||||
|
||||
1. 每批 3 个域名推进
|
||||
2. 每批推进后至少观察一次:
|
||||
- sitemap 是否被抓
|
||||
- 搜索页是否有回访
|
||||
- 详情页是否开始有命中
|
||||
3. 避免 9 个域名同时推进后无法判断反馈来源
|
||||
|
||||
## 日志观察重点
|
||||
|
||||
进入收录推进阶段后,日志观察应优先盯以下类型:
|
||||
|
||||
1. `sitemap.xml / sitemap_index.xml / sitemap-main.xml / sitemap-videos-*`
|
||||
2. 搜索页入口
|
||||
- `/get-index`
|
||||
- `/get/index`
|
||||
- `/query`
|
||||
- `/get-home`
|
||||
- `/get/keywords`
|
||||
- `/find`
|
||||
3. 详情页
|
||||
4. 播放页
|
||||
|
||||
优先关注信号:
|
||||
|
||||
1. 同一域名是否出现 sitemap -> 搜索页 -> 详情页 的连续抓取
|
||||
2. 详情页是否开始被重复访问而不是只访问一次
|
||||
3. 播放页是否开始出现稳定蜘蛛命中
|
||||
4. 是否仍出现旧 404 路径回访
|
||||
|
||||
## 下一阶段判断标准
|
||||
|
||||
进入“开始有收录反馈”阶段,可以用以下标准判断:
|
||||
|
||||
1. sitemap 持续被抓
|
||||
2. 搜索页开始被回访
|
||||
3. 详情页开始出现重复蜘蛛访问
|
||||
4. 旧 404 深链明显减少
|
||||
5. 日志里开始出现更深层的播放页抓取
|
||||
|
||||
如果以上 5 条同时开始出现,就说明这批站已经从“结构合格”进入“收录推进生效”阶段。
|
||||
|
||||
## 15 站 Sitemap 提交清单
|
||||
|
||||
下面这份清单可直接用于收录推进阶段的 sitemap 提交。
|
||||
|
||||
建议提交优先级:
|
||||
|
||||
1. `sitemap_index.xml`
|
||||
2. `sitemap-main.xml`
|
||||
3. `sitemap-videos-1.xml`
|
||||
|
||||
### A 组:优先样板 6 站
|
||||
|
||||
1. `liangzuan.net`
|
||||
- `https://www.liangzuan.net/sitemap_index.xml`
|
||||
- `https://www.liangzuan.net/sitemap-main.xml`
|
||||
- `https://www.liangzuan.net/sitemap-videos-1.xml`
|
||||
2. `cnzhenbang.com`
|
||||
- `https://www.cnzhenbang.com/sitemap_index.xml`
|
||||
- `https://www.cnzhenbang.com/sitemap-main.xml`
|
||||
- `https://www.cnzhenbang.com/sitemap-videos-1.xml`
|
||||
3. `codohealth.com`
|
||||
- `https://www.codohealth.com/sitemap_index.xml`
|
||||
- `https://www.codohealth.com/sitemap-main.xml`
|
||||
- `https://www.codohealth.com/sitemap-videos-1.xml`
|
||||
4. `jingxifa.com`
|
||||
- `https://www.jingxifa.com/sitemap_index.xml`
|
||||
- `https://www.jingxifa.com/sitemap-main.xml`
|
||||
- `https://www.jingxifa.com/sitemap-videos-1.xml`
|
||||
5. `gz-yxsw.com`
|
||||
- `https://www.gz-yxsw.com/sitemap_index.xml`
|
||||
- `https://www.gz-yxsw.com/sitemap-main.xml`
|
||||
- `https://www.gz-yxsw.com/sitemap-videos-1.xml`
|
||||
6. `glae.cc`
|
||||
- `https://www.glae.cc/sitemap_index.xml`
|
||||
- `https://www.glae.cc/sitemap-main.xml`
|
||||
- `https://www.glae.cc/sitemap-videos-1.xml`
|
||||
|
||||
### B 组:稳定推进 5 站
|
||||
|
||||
7. `gxhongzhuang.com`
|
||||
- `https://www.gxhongzhuang.com/sitemap_index.xml`
|
||||
- `https://www.gxhongzhuang.com/sitemap-main.xml`
|
||||
- `https://www.gxhongzhuang.com/sitemap-videos-1.xml`
|
||||
8. `jpjdxs.com`
|
||||
- `https://www.jpjdxs.com/sitemap_index.xml`
|
||||
- `https://www.jpjdxs.com/sitemap-main.xml`
|
||||
- `https://www.jpjdxs.com/sitemap-videos-1.xml`
|
||||
9. `jxxgygy.com`
|
||||
- `https://www.jxxgygy.com/sitemap_index.xml`
|
||||
- `https://www.jxxgygy.com/sitemap-main.xml`
|
||||
- `https://www.jxxgygy.com/sitemap-videos-1.xml`
|
||||
10. `lcdchq.com`
|
||||
- `https://www.lcdchq.com/sitemap_index.xml`
|
||||
- `https://www.lcdchq.com/sitemap-main.xml`
|
||||
- `https://www.lcdchq.com/sitemap-videos-1.xml`
|
||||
11. `leici1940.com`
|
||||
- `https://www.leici1940.com/sitemap_index.xml`
|
||||
- `https://www.leici1940.com/sitemap-main.xml`
|
||||
- `https://www.leici1940.com/sitemap-videos-1.xml`
|
||||
|
||||
### C 组:补齐推进 4 站
|
||||
|
||||
12. `lgyz.net`
|
||||
- `https://www.lgyz.net/sitemap_index.xml`
|
||||
- `https://www.lgyz.net/sitemap-main.xml`
|
||||
- `https://www.lgyz.net/sitemap-videos-1.xml`
|
||||
13. `oronorent.com`
|
||||
- `https://www.oronorent.com/sitemap_index.xml`
|
||||
- `https://www.oronorent.com/sitemap-main.xml`
|
||||
- `https://www.oronorent.com/sitemap-videos-1.xml`
|
||||
14. `pcslcl.com`
|
||||
- `https://www.pcslcl.com/sitemap_index.xml`
|
||||
- `https://www.pcslcl.com/sitemap-main.xml`
|
||||
- `https://www.pcslcl.com/sitemap-videos-1.xml`
|
||||
15. `sdxtwnc.com`
|
||||
- `https://www.sdxtwnc.com/sitemap_index.xml`
|
||||
- `https://www.sdxtwnc.com/sitemap-main.xml`
|
||||
- `https://www.sdxtwnc.com/sitemap-videos-1.xml`
|
||||
|
||||
## 提交后建议记录的最小字段
|
||||
|
||||
为了后续把“是否开始生效”看清楚,建议每次提交至少记录:
|
||||
|
||||
1. 域名
|
||||
2. 提交时间
|
||||
3. 提交的 sitemap 类型
|
||||
- `index`
|
||||
- `main`
|
||||
- `videos-1`
|
||||
4. 提交渠道
|
||||
- 手动平台提交
|
||||
- API
|
||||
- 站长工具
|
||||
5. 24 小时后是否出现蜘蛛回访
|
||||
6. 72 小时后是否出现详情页命中
|
||||
|
||||
## 推荐执行节奏
|
||||
|
||||
1. 第一天先提交 A 组 6 站
|
||||
2. 同步刷新缓存滞后站
|
||||
3. 第二天补提 B 组前 3 站
|
||||
4. 第三天补齐剩余域名
|
||||
5. 每天固定看一次日志回访,不要提交完就放着不看
|
||||
|
||||
## 日志回访观察清单
|
||||
|
||||
这份清单的目标,是把“怎么看日志才算有效观察”固定下来,避免只看访问量,不看抓取结构。
|
||||
|
||||
### 一、优先观察的请求类型
|
||||
|
||||
每个域名优先看以下 4 类请求:
|
||||
|
||||
1. sitemap 请求
|
||||
- `/sitemap.xml`
|
||||
- `/sitemap_index.xml`
|
||||
- `/sitemap-main.xml`
|
||||
- `/sitemap-videos-1.xml`
|
||||
- `/sitemap-videos-2.xml`
|
||||
- `/sitemap-videos-3.xml`
|
||||
- `/sitemap-videos-4.xml`
|
||||
|
||||
2. 搜索页请求
|
||||
- `/get-index`
|
||||
- `/get/index`
|
||||
- `/query`
|
||||
- `/get-home`
|
||||
- `/get/keywords`
|
||||
- `/find`
|
||||
- 以及各域名冻结出来的真实搜索入口
|
||||
|
||||
3. 详情页请求
|
||||
- `/detail/...`
|
||||
- `/film/...`
|
||||
- `/xiangqing...`
|
||||
- `/video-detail/...`
|
||||
- `/shipin...`
|
||||
- 以及各域名冻结出来的真实详情入口
|
||||
|
||||
4. 播放页请求
|
||||
- `/play/...`
|
||||
- `/player/...`
|
||||
- `/bofang...`
|
||||
- `/m3u8...`
|
||||
- `/watch/...`
|
||||
- `/kan/...`
|
||||
- `/bf...`
|
||||
- 以及各域名冻结出来的真实播放入口
|
||||
|
||||
### 二、优先观察的蜘蛛来源
|
||||
|
||||
建议至少把以下访问单独标记出来看:
|
||||
|
||||
1. 百度蜘蛛
|
||||
- `Baiduspider`
|
||||
2. 必应蜘蛛
|
||||
- `bingbot`
|
||||
3. 360 / 搜狗 / 其他中文搜索引擎蜘蛛
|
||||
4. 普通浏览器访问
|
||||
- 用来区分“蜘蛛回访”与“人工访问”
|
||||
|
||||
如果日志里能区分 IP 段或 UA 命中规则,优先按蜘蛛类型单独统计。
|
||||
|
||||
### 三、什么算正向信号
|
||||
|
||||
以下信号出现时,说明“收录推进开始生效”:
|
||||
|
||||
1. sitemap 持续被抓
|
||||
- 不只是抓一次,而是 24 小时内多次访问
|
||||
|
||||
2. 搜索页开始被回访
|
||||
- 尤其是命中真实搜索入口,而不是只访问首页
|
||||
|
||||
3. 详情页开始被重复访问
|
||||
- 同一详情页被多次访问,比单次命中更有价值
|
||||
|
||||
4. 播放页开始被抓
|
||||
- 说明蜘蛛已经开始从详情页往更深层走
|
||||
|
||||
5. 命中顺序出现链路感
|
||||
- 例如:
|
||||
- `sitemap -> 搜索页 -> 详情页`
|
||||
- `sitemap -> 详情页 -> 播放页`
|
||||
- `首页 -> 搜索页 -> 详情页`
|
||||
|
||||
### 四、什么算风险信号
|
||||
|
||||
以下信号出现时,要优先回头排查:
|
||||
|
||||
1. sitemap 有抓取,但详情页一直不被访问
|
||||
- 说明 sitemap 入口在,但落地页吸引力或结构承接不足
|
||||
|
||||
2. 搜索页被抓,但详情页没有跟进
|
||||
- 说明搜索页与详情页之间的承接可能还不够强
|
||||
|
||||
3. 大量旧 404 深链反复回访
|
||||
- 说明外部索引里还残留旧路径
|
||||
- 需要确认是否还有漏掉的兼容路由
|
||||
|
||||
4. 普通访问正常,但蜘蛛访问状态码异常
|
||||
- 要优先排查 UA、缓存、Nginx 规则与蜘蛛放行逻辑
|
||||
|
||||
5. 同一站点频繁只抓首页,不抓深页
|
||||
- 说明深页入口没有真正被推进
|
||||
|
||||
### 五、建议最小观察周期
|
||||
|
||||
建议按这个节奏看:
|
||||
|
||||
1. 提交后 24 小时
|
||||
- 看 sitemap 是否开始被抓
|
||||
- 看是否出现搜索页回访
|
||||
|
||||
2. 提交后 72 小时
|
||||
- 看详情页是否开始出现命中
|
||||
- 看播放页是否开始出现命中
|
||||
|
||||
3. 提交后 7 天
|
||||
- 看是否形成:
|
||||
- sitemap 持续抓取
|
||||
- 搜索页稳定回访
|
||||
- 详情页重复访问
|
||||
- 播放页开始命中
|
||||
|
||||
### 六、建议记录格式
|
||||
|
||||
每次看日志时,建议最少记录:
|
||||
|
||||
1. 日期
|
||||
2. 域名
|
||||
3. 蜘蛛类型
|
||||
4. 命中的 URL 类型
|
||||
- `sitemap`
|
||||
- `search`
|
||||
- `detail`
|
||||
- `play`
|
||||
5. 命中数量
|
||||
6. 是否出现连续抓取链路
|
||||
7. 是否出现旧 404 回访
|
||||
|
||||
### 七、当前最值得重点盯的站
|
||||
|
||||
进入收录推进阶段后,建议优先盯这些站的日志反馈:
|
||||
|
||||
1. `liangzuan.net`
|
||||
2. `cnzhenbang.com`
|
||||
3. `codohealth.com`
|
||||
4. `jingxifa.com`
|
||||
5. `gz-yxsw.com`
|
||||
6. `glae.cc`
|
||||
|
||||
原因:
|
||||
|
||||
- 这 6 站前期排障最充分
|
||||
- 结构修复最完整
|
||||
- URL family 代表性强
|
||||
- 最适合用来判断“这一轮收录推进是否已经开始产生真实反馈”
|
||||
|
||||
## 缓存刷新优先清单
|
||||
|
||||
下面这份清单只针对“代码已生效,但普通访问仍可能命中旧 HTML”的站点。
|
||||
|
||||
目标不是继续改模板,而是:
|
||||
|
||||
1. 先刷新前端缓存
|
||||
2. 再复查关键页面
|
||||
3. 确认是否从“缓存滞后”恢复到“线上真实输出已更新”
|
||||
|
||||
### 需要优先刷新的站
|
||||
|
||||
1. `jingxifa.com`
|
||||
2. `lcdchq.com`
|
||||
3. `cnzhenbang.com`
|
||||
4. `oronorent.com`
|
||||
|
||||
### 每个站刷新后必须复查的页面
|
||||
|
||||
建议至少复查这 4 类页面:
|
||||
|
||||
1. 首页
|
||||
2. 搜索页
|
||||
3. 详情页
|
||||
4. 播放页
|
||||
|
||||
### 复查重点
|
||||
|
||||
#### 1. 首页
|
||||
|
||||
重点看:
|
||||
|
||||
- `title` 是否正常
|
||||
- `description` 是否正常
|
||||
- 是否仍明显命中旧模板输出
|
||||
|
||||
#### 2. 搜索页
|
||||
|
||||
重点看:
|
||||
|
||||
- 是否返回 `200`
|
||||
- `h1` 是否为“关键词 + 搜索结果”类表达
|
||||
- canonical 是否仍正常
|
||||
|
||||
#### 3. 详情页
|
||||
|
||||
重点看:
|
||||
|
||||
- `h1` 是否恢复正常
|
||||
- 是否仍为空
|
||||
- 是否仍出现 `0.0`
|
||||
- canonical 是否正常
|
||||
|
||||
#### 4. 播放页
|
||||
|
||||
重点看:
|
||||
|
||||
- `h1` 是否存在
|
||||
- `h1` 是否仍为主标题
|
||||
- canonical 是否正常
|
||||
|
||||
### 当前已知缓存滞后表现
|
||||
|
||||
1. `jingxifa.com`
|
||||
- 旧表现:
|
||||
- 详情页普通访问 `h1 => 武炼巅峰(短剧) 0.0`
|
||||
- 正常目标:
|
||||
- 详情页 `h1` 恢复为纯净标题
|
||||
|
||||
2. `lcdchq.com`
|
||||
- 旧表现:
|
||||
- 详情页普通访问 `h1 => 武炼巅峰(短剧) 0.0`
|
||||
- 正常目标:
|
||||
- 详情页 `h1` 恢复为纯净标题
|
||||
|
||||
3. `cnzhenbang.com`
|
||||
- 旧表现:
|
||||
- 详情页普通访问 `h1` 为空
|
||||
- 正常目标:
|
||||
- 详情页 `h1` 恢复为有效标题
|
||||
|
||||
4. `oronorent.com`
|
||||
- 旧表现:
|
||||
- 详情页普通访问 `h1` 为空
|
||||
- 正常目标:
|
||||
- 详情页 `h1` 恢复为有效标题
|
||||
|
||||
### 建议复查顺序
|
||||
|
||||
1. 先访问普通 URL
|
||||
2. 再访问同一 URL + `?__nocache=1`
|
||||
3. 对比两次输出是否一致
|
||||
|
||||
如果普通访问与 `?__nocache=1` 已一致,说明缓存层已经跟上。
|
||||
|
||||
如果普通访问仍旧落后于 `?__nocache=1`,说明仍是缓存滞后,不建议误判成模板失效。
|
||||
|
||||
### 建议记录字段
|
||||
|
||||
每次缓存刷新复查,最少记录:
|
||||
|
||||
1. 域名
|
||||
2. 刷新时间
|
||||
3. 复查页面类型
|
||||
4. 普通访问结果
|
||||
5. `?__nocache=1` 结果
|
||||
6. 两者是否一致
|
||||
7. 是否还需要继续观察
|
||||
|
||||
### 当前阶段建议
|
||||
|
||||
这 4 个站的优先级很高,因为它们不是“结构坏了”,而是“缓存挡住了真实更新”。
|
||||
|
||||
因此:
|
||||
|
||||
1. 不要优先继续改模板
|
||||
2. 先把缓存层状态确认干净
|
||||
3. 再观察蜘蛛是否开始回访更新后的详情页
|
||||
96
docs/gpt-template-seo/2026-04-18-A-B组优先清缓存执行单.md
Normal file
96
docs/gpt-template-seo/2026-04-18-A-B组优先清缓存执行单.md
Normal file
@@ -0,0 +1,96 @@
|
||||
# 2026-04-18 A/B组优先清缓存执行单
|
||||
|
||||
这份文档用于把当前最需要优先刷新的站点固定下来,避免现场继续把“缓存滞后”误判成“代码没生效”。
|
||||
|
||||
## 1. 今日优先清缓存站点
|
||||
|
||||
### 第一优先级
|
||||
|
||||
1. `jingxifa.com`
|
||||
2. `lcdchq.com`
|
||||
3. `cnzhenbang.com`
|
||||
4. `oronorent.com`
|
||||
|
||||
### 第二优先级
|
||||
|
||||
1. `jxxgygy.com`
|
||||
2. `lgyz.net`
|
||||
|
||||
## 2. 为什么这批站要先清
|
||||
|
||||
### `jingxifa.com`
|
||||
|
||||
1. 已经拿到首页 / 详情 / 播放真实 `200`
|
||||
2. 代码侧修复已经生效
|
||||
3. 仍有普通访问落后于 `?__nocache=1` 的风险
|
||||
|
||||
### `lcdchq.com`
|
||||
|
||||
1. 已经拿到首页与详情 `200`
|
||||
2. 属于之前已确认的缓存滞后站
|
||||
3. 继续不清缓存,会影响人工复查与蜘蛛看到的新 HTML 一致性
|
||||
|
||||
### `cnzhenbang.com`
|
||||
|
||||
1. 当前还停在 `robots / category` 层较多
|
||||
2. 已被列入缓存优先复查名单
|
||||
3. 清缓存后更利于判断到底是页面发现慢,还是旧 HTML 影响
|
||||
|
||||
### `oronorent.com`
|
||||
|
||||
1. 已经出现单个详情样式路径 `200`
|
||||
2. 同时仍属于缓存滞后重点站
|
||||
3. 需要先把缓存影响移除,再看深页是否会继续扩展
|
||||
|
||||
## 3. 清缓存后固定复查项
|
||||
|
||||
每个域名都按同样顺序复查:
|
||||
|
||||
1. 首页 `200`
|
||||
2. 搜索页 `h1`
|
||||
3. 搜索页 canonical
|
||||
4. 详情页 `h1`
|
||||
5. 详情页 canonical
|
||||
6. 播放页 `h1`
|
||||
7. 播放页 canonical
|
||||
8. 普通访问与 `?__nocache=1` 是否一致
|
||||
|
||||
## 4. 清缓存后判定标准
|
||||
|
||||
### 判定为“已恢复一致”
|
||||
|
||||
满足以下条件即可:
|
||||
|
||||
1. 普通访问和 `?__nocache=1` 页面主体一致
|
||||
2. `h1` 不再缺失
|
||||
3. canonical 正常
|
||||
4. 页面不再出现旧模板残留文案
|
||||
|
||||
### 判定为“仍需继续跟”
|
||||
|
||||
出现以下任一情况:
|
||||
|
||||
1. 普通访问仍明显旧于 `?__nocache=1`
|
||||
2. 详情页 `h1` 仍空白或异常
|
||||
3. 播放页标题仍不稳定
|
||||
4. 搜索页仍未输出预期主标题
|
||||
|
||||
## 5. 今日执行建议顺序
|
||||
|
||||
1. 先清 `jingxifa.com`
|
||||
2. 再清 `lcdchq.com`
|
||||
3. 再清 `cnzhenbang.com`
|
||||
4. 再清 `oronorent.com`
|
||||
5. 清完后立即复查关键页
|
||||
6. 把复查结果写回 A / B 组蜘蛛回访文档
|
||||
|
||||
## 6. 当前原则
|
||||
|
||||
今天这批站点不建议先继续改模板。
|
||||
|
||||
优先级应固定为:
|
||||
|
||||
1. 先清缓存
|
||||
2. 再复查关键页
|
||||
3. 再看蜘蛛回访是否扩大
|
||||
4. 最后才决定是否继续做模板层微调
|
||||
222
docs/gpt-template-seo/2026-04-18-首批4站-curl复查命令清单.md
Normal file
222
docs/gpt-template-seo/2026-04-18-首批4站-curl复查命令清单.md
Normal file
@@ -0,0 +1,222 @@
|
||||
# 2026-04-18 首批4站 curl 复查命令清单
|
||||
|
||||
这份文档用于在清缓存前后,直接通过 `curl` 快速复查首批 4 个优先站。
|
||||
|
||||
适用场景:
|
||||
|
||||
1. 现场刚清完前端缓存
|
||||
2. 需要快速对比普通访问与 `?__nocache=1`
|
||||
3. 不想再手工拼 URL 和 header 检查命令
|
||||
|
||||
建议配合:
|
||||
|
||||
- [2026-04-18-首批4站清缓存后复查执行单.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-首批4站清缓存后复查执行单.md)
|
||||
- [2026-04-18-清缓存后复查记录单.md](/www/wwwroot/diff-maccms/SEONexus/docs/2026-04-18-清缓存后复查记录单.md)
|
||||
|
||||
## 1. 使用原则
|
||||
|
||||
先跑 header 命令,再跑源码抽取命令。
|
||||
|
||||
建议顺序:
|
||||
|
||||
1. 首页 header
|
||||
2. 搜索页 header
|
||||
3. 详情页 header
|
||||
4. 播放页 header
|
||||
5. 搜索 / 详情 / 播放 nocache header
|
||||
6. 最后抽取 `title` / `h1` / canonical
|
||||
|
||||
## 2. 通用命令模板
|
||||
|
||||
### 只看响应头
|
||||
|
||||
```bash
|
||||
curl -I -L -s 'https://example.com/path'
|
||||
```
|
||||
|
||||
### 带 `__nocache=1` 看响应头
|
||||
|
||||
```bash
|
||||
curl -I -L -s 'https://example.com/path?__nocache=1'
|
||||
```
|
||||
|
||||
### 抓源码并提取标题 / canonical / h1
|
||||
|
||||
```bash
|
||||
curl -L -s 'https://example.com/path' | rg -o '<title>.*?</title>|<link rel=\"canonical\".*?>|<h1[^>]*>.*?</h1>' -N
|
||||
```
|
||||
|
||||
### 抓 nocache 源码并提取标题 / canonical / h1
|
||||
|
||||
```bash
|
||||
curl -L -s 'https://example.com/path?__nocache=1' | rg -o '<title>.*?</title>|<link rel=\"canonical\".*?>|<h1[^>]*>.*?</h1>' -N
|
||||
```
|
||||
|
||||
## 3. `jingxifa.com`
|
||||
|
||||
### 推荐复查 URL
|
||||
|
||||
- 首页:
|
||||
- `https://www.jingxifa.com/`
|
||||
- 搜索页:
|
||||
- `https://www.jingxifa.com/get-index?keyword=京淅发影院`
|
||||
- 详情页:
|
||||
- `https://www.jingxifa.com/video-detail/cheng-shi-jian-ke-190614`
|
||||
- 播放页:
|
||||
- `https://www.jingxifa.com/video-bofang/hei-yi-nv-ren-de-xiang-shui-183894-default-1`
|
||||
|
||||
### header 复查
|
||||
|
||||
```bash
|
||||
curl -I -L -s 'https://www.jingxifa.com/'
|
||||
curl -I -L -s 'https://www.jingxifa.com/get-index?keyword=京淅发影院'
|
||||
curl -I -L -s 'https://www.jingxifa.com/video-detail/cheng-shi-jian-ke-190614'
|
||||
curl -I -L -s 'https://www.jingxifa.com/video-bofang/hei-yi-nv-ren-de-xiang-shui-183894-default-1'
|
||||
```
|
||||
|
||||
### nocache header 复查
|
||||
|
||||
```bash
|
||||
curl -I -L -s 'https://www.jingxifa.com/get-index?keyword=京淅发影院&__nocache=1'
|
||||
curl -I -L -s 'https://www.jingxifa.com/video-detail/cheng-shi-jian-ke-190614?__nocache=1'
|
||||
curl -I -L -s 'https://www.jingxifa.com/video-bofang/hei-yi-nv-ren-de-xiang-shui-183894-default-1?__nocache=1'
|
||||
```
|
||||
|
||||
### 源码抽取
|
||||
|
||||
```bash
|
||||
curl -L -s 'https://www.jingxifa.com/get-index?keyword=京淅发影院' | rg -o '<title>.*?</title>|<link rel=\"canonical\".*?>|<h1[^>]*>.*?</h1>' -N
|
||||
curl -L -s 'https://www.jingxifa.com/video-detail/cheng-shi-jian-ke-190614' | rg -o '<title>.*?</title>|<link rel=\"canonical\".*?>|<h1[^>]*>.*?</h1>' -N
|
||||
curl -L -s 'https://www.jingxifa.com/video-bofang/hei-yi-nv-ren-de-xiang-shui-183894-default-1' | rg -o '<title>.*?</title>|<link rel=\"canonical\".*?>|<h1[^>]*>.*?</h1>' -N
|
||||
```
|
||||
|
||||
## 4. `lcdchq.com`
|
||||
|
||||
### 推荐复查 URL
|
||||
|
||||
- 首页:
|
||||
- `https://www.lcdchq.com/`
|
||||
- 搜索页:
|
||||
- `https://www.lcdchq.com/get-index?keyword=欧美影院`
|
||||
- 详情页:
|
||||
- `https://www.lcdchq.com/movie/154180-yi-gua-ding-qing-yuan-ye-ya-tou-jin-cheng-bei-tuan-chong`
|
||||
- 播放页:
|
||||
- `请现场补一个当前真实播放页,若暂无已确认样本,可先复查详情页与首页`
|
||||
|
||||
### header 复查
|
||||
|
||||
```bash
|
||||
curl -I -L -s 'https://www.lcdchq.com/'
|
||||
curl -I -L -s 'https://www.lcdchq.com/get-index?keyword=欧美影院'
|
||||
curl -I -L -s 'https://www.lcdchq.com/movie/154180-yi-gua-ding-qing-yuan-ye-ya-tou-jin-cheng-bei-tuan-chong'
|
||||
```
|
||||
|
||||
### nocache header 复查
|
||||
|
||||
```bash
|
||||
curl -I -L -s 'https://www.lcdchq.com/get-index?keyword=欧美影院&__nocache=1'
|
||||
curl -I -L -s 'https://www.lcdchq.com/movie/154180-yi-gua-ding-qing-yuan-ye-ya-tou-jin-cheng-bei-tuan-chong?__nocache=1'
|
||||
```
|
||||
|
||||
### 源码抽取
|
||||
|
||||
```bash
|
||||
curl -L -s 'https://www.lcdchq.com/get-index?keyword=欧美影院' | rg -o '<title>.*?</title>|<link rel=\"canonical\".*?>|<h1[^>]*>.*?</h1>' -N
|
||||
curl -L -s 'https://www.lcdchq.com/movie/154180-yi-gua-ding-qing-yuan-ye-ya-tou-jin-cheng-bei-tuan-chong' | rg -o '<title>.*?</title>|<link rel=\"canonical\".*?>|<h1[^>]*>.*?</h1>' -N
|
||||
```
|
||||
|
||||
## 5. `cnzhenbang.com`
|
||||
|
||||
### 推荐复查 URL
|
||||
|
||||
- 首页:
|
||||
- `https://www.cnzhenbang.com/`
|
||||
- 搜索页:
|
||||
- `https://www.cnzhenbang.com/query?keyword=菜鸟臻榜`
|
||||
- 分类页:
|
||||
- `https://www.cnzhenbang.com/category/dong-man`
|
||||
- 详情页:
|
||||
- `https://www.cnzhenbang.com/detail/wei-xian-de-fei-pang-210`
|
||||
- 备用详情页:
|
||||
- `https://www.cnzhenbang.com/detail/mo-li-mei-213`
|
||||
|
||||
### header 复查
|
||||
|
||||
```bash
|
||||
curl -I -L -s 'https://www.cnzhenbang.com/'
|
||||
curl -I -L -s 'https://www.cnzhenbang.com/query?keyword=菜鸟臻榜'
|
||||
curl -I -L -s 'https://www.cnzhenbang.com/category/dong-man'
|
||||
curl -I -L -s 'https://www.cnzhenbang.com/detail/wei-xian-de-fei-pang-210'
|
||||
```
|
||||
|
||||
### nocache header 复查
|
||||
|
||||
```bash
|
||||
curl -I -L -s 'https://www.cnzhenbang.com/query?keyword=菜鸟臻榜&__nocache=1'
|
||||
curl -I -L -s 'https://www.cnzhenbang.com/detail/wei-xian-de-fei-pang-210?__nocache=1'
|
||||
curl -I -L -s 'https://www.cnzhenbang.com/detail/mo-li-mei-213?__nocache=1'
|
||||
```
|
||||
|
||||
### 源码抽取
|
||||
|
||||
```bash
|
||||
curl -L -s 'https://www.cnzhenbang.com/query?keyword=菜鸟臻榜' | rg -o '<title>.*?</title>|<link rel=\"canonical\".*?>|<h1[^>]*>.*?</h1>' -N
|
||||
curl -L -s 'https://www.cnzhenbang.com/detail/wei-xian-de-fei-pang-210' | rg -o '<title>.*?</title>|<link rel=\"canonical\".*?>|<h1[^>]*>.*?</h1>' -N
|
||||
curl -L -s 'https://www.cnzhenbang.com/detail/mo-li-mei-213' | rg -o '<title>.*?</title>|<link rel=\"canonical\".*?>|<h1[^>]*>.*?</h1>' -N
|
||||
```
|
||||
|
||||
## 6. `oronorent.com`
|
||||
|
||||
### 推荐复查 URL
|
||||
|
||||
- 首页:
|
||||
- `https://www.oronorent.com/`
|
||||
- 搜索页:
|
||||
- `https://www.oronorent.com/get-index?keyword=奥诺影视`
|
||||
- 详情页:
|
||||
- `https://www.oronorent.com/shipin/154173-yi-gua-ding-qian-kun`
|
||||
- robots:
|
||||
- `https://www.oronorent.com/robots.txt`
|
||||
|
||||
### header 复查
|
||||
|
||||
```bash
|
||||
curl -I -L -s 'https://www.oronorent.com/'
|
||||
curl -I -L -s 'https://www.oronorent.com/get-index?keyword=奥诺影视'
|
||||
curl -I -L -s 'https://www.oronorent.com/shipin/154173-yi-gua-ding-qian-kun'
|
||||
curl -I -L -s 'https://www.oronorent.com/robots.txt'
|
||||
```
|
||||
|
||||
### nocache header 复查
|
||||
|
||||
```bash
|
||||
curl -I -L -s 'https://www.oronorent.com/get-index?keyword=奥诺影视&__nocache=1'
|
||||
curl -I -L -s 'https://www.oronorent.com/shipin/154173-yi-gua-ding-qian-kun?__nocache=1'
|
||||
```
|
||||
|
||||
### 源码抽取
|
||||
|
||||
```bash
|
||||
curl -L -s 'https://www.oronorent.com/get-index?keyword=奥诺影视' | rg -o '<title>.*?</title>|<link rel=\"canonical\".*?>|<h1[^>]*>.*?</h1>' -N
|
||||
curl -L -s 'https://www.oronorent.com/shipin/154173-yi-gua-ding-qian-kun' | rg -o '<title>.*?</title>|<link rel=\"canonical\".*?>|<h1[^>]*>.*?</h1>' -N
|
||||
```
|
||||
|
||||
## 7. 建议现场记录的最小结果
|
||||
|
||||
每个域名跑完后,至少记录下面这些:
|
||||
|
||||
1. 普通访问首页状态码
|
||||
2. 普通访问搜索页 `h1`
|
||||
3. 普通访问详情页 `h1`
|
||||
4. 普通访问播放页 `h1`
|
||||
5. `?__nocache=1` 对照是否一致
|
||||
6. 当前是否还能判定为缓存问题
|
||||
|
||||
## 8. 当前建议
|
||||
|
||||
现场执行时,不要先跑测试探针:
|
||||
|
||||
- `/get-index?wd=test`
|
||||
- `/get/index?wd=test`
|
||||
|
||||
优先跑已经确认过的真实入口、真实详情页、真实播放页。
|
||||
234
docs/gpt-template-seo/2026-04-18-首批4站-curl结果判读表.md
Normal file
234
docs/gpt-template-seo/2026-04-18-首批4站-curl结果判读表.md
Normal file
@@ -0,0 +1,234 @@
|
||||
# 2026-04-18 首批4站 curl 结果判读表
|
||||
|
||||
这份文档用于在跑完 `curl` 复查命令后,快速判断结果属于哪一类问题。
|
||||
|
||||
适用场景:
|
||||
|
||||
1. 已按命令清单完成首批 4 站 header / 源码复查
|
||||
2. 需要快速判断是缓存问题、页面输出问题,还是已经恢复一致
|
||||
3. 需要把结果统一写回执行单和 A / B 组文档
|
||||
|
||||
建议配合:
|
||||
|
||||
- [2026-04-18-首批4站-curl复查命令清单.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-首批4站-curl复查命令清单.md)
|
||||
- [2026-04-18-首批4站清缓存后复查执行单.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-首批4站清缓存后复查执行单.md)
|
||||
- [2026-04-18-清缓存后复查记录单.md](/www/wwwroot/diff-maccms/SEONexus/docs/2026-04-18-清缓存后复查记录单.md)
|
||||
|
||||
## 1. 先看哪几项
|
||||
|
||||
跑完命令后,先只看这 6 项:
|
||||
|
||||
1. 状态码
|
||||
2. `X-Cache-Status`
|
||||
3. `X-Cache-Mode`
|
||||
4. `X-Cache-Bypass`
|
||||
5. `h1`
|
||||
6. canonical
|
||||
|
||||
不要一上来就被整页 HTML 干扰。
|
||||
|
||||
## 2. 最常见判定场景
|
||||
|
||||
### 场景 A:已经恢复一致
|
||||
|
||||
典型特征:
|
||||
|
||||
1. 普通访问状态码 `200`
|
||||
2. `?__nocache=1` 状态码也 `200`
|
||||
3. 普通访问和 `?__nocache=1` 的 `h1` 一致
|
||||
4. 普通访问和 `?__nocache=1` 的 canonical 一致
|
||||
5. 普通访问不再出现旧标题、空 `h1`、`0.0`、异常文案
|
||||
|
||||
结论:
|
||||
|
||||
- 可判定为:`已恢复一致,可继续观察蜘蛛回访`
|
||||
|
||||
动作:
|
||||
|
||||
1. 从优先清缓存名单中降级
|
||||
2. 回写 A / B 组文档
|
||||
3. 继续观察下一轮蜘蛛回访
|
||||
|
||||
### 场景 B:仍是缓存滞后
|
||||
|
||||
典型特征:
|
||||
|
||||
1. 普通访问状态码 `200`
|
||||
2. `?__nocache=1` 状态码 `200`
|
||||
3. `?__nocache=1` 的 `h1` 正常
|
||||
4. 普通访问的 `h1` 仍旧为空、带 `0.0`、或明显旧文案
|
||||
5. canonical 可能一致,也可能普通访问还残留旧值
|
||||
|
||||
结论:
|
||||
|
||||
- 可判定为:`仍有旧缓存残留`
|
||||
|
||||
动作:
|
||||
|
||||
1. 继续排查前端缓存链路
|
||||
2. 不要先误判成模板没生效
|
||||
3. 必要时继续清缓存并复查
|
||||
|
||||
### 场景 C:不是缓存问题,更像页面输出问题
|
||||
|
||||
典型特征:
|
||||
|
||||
1. 普通访问和 `?__nocache=1` 都是 `200`
|
||||
2. 两边的 `h1` 都异常
|
||||
3. 两边 canonical 都异常或都缺失
|
||||
4. 普通访问与 `?__nocache=1` 表现一致,但一致地不对
|
||||
|
||||
结论:
|
||||
|
||||
- 可判定为:`不是缓存问题,需回到模板 / 路由 / 输出层继续排查`
|
||||
|
||||
动作:
|
||||
|
||||
1. 回看模板层输出
|
||||
2. 回看路由命中是否正确
|
||||
3. 回看 canonical / `h1` 的生成逻辑
|
||||
|
||||
### 场景 D:链路级异常,不是 SEO 表达问题
|
||||
|
||||
典型特征:
|
||||
|
||||
1. 普通访问不是 `200`
|
||||
2. `?__nocache=1` 也不是 `200`
|
||||
3. 可能出现 `301 / 403 / 404 / 444`
|
||||
4. 页面压根没进入正常 HTML 输出
|
||||
|
||||
结论:
|
||||
|
||||
- 可判定为:`链路级问题,需要优先排查访问路径、nginx、路由或安全拦截`
|
||||
|
||||
动作:
|
||||
|
||||
1. 先确认 URL 是否真实
|
||||
2. 再看 `X-Cache-Status / X-Managed-Spider`
|
||||
3. 再决定是否需要回到 nginx / 路由排查
|
||||
|
||||
## 3. header 结果怎么读
|
||||
|
||||
### `X-Cache-Status`
|
||||
|
||||
常见读法:
|
||||
|
||||
1. `HIT`
|
||||
- 普通访问命中了前端缓存
|
||||
2. `MISS`
|
||||
- 当前请求回源
|
||||
3. `BYPASS`
|
||||
- 通常是 `?__nocache=1` 或显式跳过缓存
|
||||
|
||||
### `X-Cache-Mode`
|
||||
|
||||
常见读法:
|
||||
|
||||
1. `path-only`
|
||||
- 当前按路径缓存
|
||||
2. `with-args`
|
||||
- 当前按 query 缓存
|
||||
3. `bypass`
|
||||
- 当前人为绕过缓存
|
||||
|
||||
### `X-Cache-Bypass`
|
||||
|
||||
常见读法:
|
||||
|
||||
1. `1`
|
||||
- 已绕过缓存
|
||||
2. `0`
|
||||
- 未绕过缓存
|
||||
|
||||
## 4. h1 结果怎么读
|
||||
|
||||
### 正常
|
||||
|
||||
1. 搜索页:
|
||||
- `菜鸟臻榜 搜索结果`
|
||||
- `京淅发影院 搜索结果`
|
||||
- `奥诺影视 搜索结果`
|
||||
2. 详情页:
|
||||
- 纯净标题,例如 `武炼巅峰(短剧)`
|
||||
3. 播放页:
|
||||
- 完整主标题,例如 `武炼巅峰(短剧) 全集`
|
||||
|
||||
### 异常
|
||||
|
||||
1. `NO_H1`
|
||||
2. 空白
|
||||
3. 带 `0.0`
|
||||
4. 明显旧模板残留文案
|
||||
|
||||
## 5. canonical 结果怎么读
|
||||
|
||||
### 正常
|
||||
|
||||
1. canonical 存在
|
||||
2. 指向当前真实页面
|
||||
3. 普通访问与 `?__nocache=1` 一致
|
||||
|
||||
### 异常
|
||||
|
||||
1. canonical 缺失
|
||||
2. canonical 指向错误 URL
|
||||
3. 普通访问与 `?__nocache=1` 的 canonical 不一致
|
||||
|
||||
## 6. 首批 4 站的重点判读提醒
|
||||
|
||||
### `jingxifa.com`
|
||||
|
||||
重点看:
|
||||
|
||||
1. 详情页 `h1` 是否还带 `0.0`
|
||||
2. 播放页 `h1` 是否仍正常为全集标题
|
||||
3. 普通访问是否已经追上 `?__nocache=1`
|
||||
|
||||
### `lcdchq.com`
|
||||
|
||||
重点看:
|
||||
|
||||
1. 详情页 `h1` 是否还带 `0.0`
|
||||
2. 首页与详情页是否都已经正常
|
||||
3. 是否仍属于缓存滞后
|
||||
|
||||
### `cnzhenbang.com`
|
||||
|
||||
重点看:
|
||||
|
||||
1. 搜索页 `h1` 是否正常
|
||||
2. 详情页 `h1` 是否还为空
|
||||
3. 清缓存后是否开始更接近深页层表现
|
||||
|
||||
### `oronorent.com`
|
||||
|
||||
重点看:
|
||||
|
||||
1. 搜索页 `h1` 是否正常
|
||||
2. 详情页 `h1` 是否还为空
|
||||
3. 普通访问和 `?__nocache=1` 是否仍不一致
|
||||
|
||||
## 7. 结果回写模板
|
||||
|
||||
每个站最少写成这样:
|
||||
|
||||
```md
|
||||
域名:
|
||||
普通访问状态:
|
||||
nocache 状态:
|
||||
h1 是否一致:
|
||||
canonical 是否一致:
|
||||
当前判定:
|
||||
- 已恢复一致 / 仍有旧缓存残留 / 不是缓存问题 / 链路级异常
|
||||
下一步:
|
||||
```
|
||||
|
||||
## 8. 当前建议
|
||||
|
||||
现场判读顺序固定为:
|
||||
|
||||
1. 先看状态码
|
||||
2. 再看缓存头
|
||||
3. 再看 `h1`
|
||||
4. 再看 canonical
|
||||
5. 最后才决定是缓存问题还是代码问题
|
||||
212
docs/gpt-template-seo/2026-04-18-首批4站执行后结果汇总页.md
Normal file
212
docs/gpt-template-seo/2026-04-18-首批4站执行后结果汇总页.md
Normal file
@@ -0,0 +1,212 @@
|
||||
# 2026-04-18 首批4站执行后结果汇总页
|
||||
|
||||
这份文档用于承接首批 4 个缓存优先站在“清缓存 + curl 复查”之后的汇总结论。
|
||||
|
||||
适用场景:
|
||||
|
||||
1. 首批 4 站已经完成缓存刷新
|
||||
2. `curl` 复查结果已经拿到
|
||||
3. 需要快速判断哪些站可以降级、哪些站要继续追
|
||||
|
||||
建议配合:
|
||||
|
||||
- [2026-04-18-首批4站现场执行顺序汇总.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-首批4站现场执行顺序汇总.md)
|
||||
- [2026-04-18-首批4站清缓存后复查执行单.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-首批4站清缓存后复查执行单.md)
|
||||
- [2026-04-18-首批4站-curl结果判读表.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-首批4站-curl结果判读表.md)
|
||||
- [2026-04-18-A组6站-蜘蛛回访分析.md](/www/wwwroot/diff-maccms/SEONexus/docs/2026-04-18-A组6站-蜘蛛回访分析.md)
|
||||
- [2026-04-18-B组9站-蜘蛛回访分析.md](/www/wwwroot/diff-maccms/SEONexus/docs/2026-04-18-B组9站-蜘蛛回访分析.md)
|
||||
|
||||
## 1. 本轮范围
|
||||
|
||||
首批缓存优先站:
|
||||
|
||||
1. `jingxifa.com`
|
||||
2. `lcdchq.com`
|
||||
3. `cnzhenbang.com`
|
||||
4. `oronorent.com`
|
||||
|
||||
## 2. 本轮目标
|
||||
|
||||
本轮不是再看“页面能不能打开”,而是确认下面 4 件事:
|
||||
|
||||
1. 普通访问是否已经追上 `?__nocache=1`
|
||||
2. 搜索页 `h1` 是否正常
|
||||
3. 详情页 `h1` 是否正常
|
||||
4. canonical 是否稳定
|
||||
|
||||
## 3. 汇总总表
|
||||
|
||||
| 域名 | 清缓存时间 | 普通访问状态 | nocache 状态 | `h1` 是否一致 | canonical 是否一致 | 当前结论 | 下一步 |
|
||||
|---|---|---|---|---|---|---|---|
|
||||
| `jingxifa.com` | | | | | | | |
|
||||
| `lcdchq.com` | | | | | | | |
|
||||
| `cnzhenbang.com` | | | | | | | |
|
||||
| `oronorent.com` | | | | | | | |
|
||||
|
||||
## 4. 分站结论
|
||||
|
||||
### `jingxifa.com`
|
||||
|
||||
- 清缓存时间:
|
||||
- 普通访问:
|
||||
- 首页:
|
||||
- 搜索页:
|
||||
- 详情页:
|
||||
- 播放页:
|
||||
- nocache:
|
||||
- 搜索页:
|
||||
- 详情页:
|
||||
- 播放页:
|
||||
- 当前判断:
|
||||
- [ ] 已恢复一致
|
||||
- [ ] 仍有旧缓存残留
|
||||
- [ ] 不是缓存问题
|
||||
- [ ] 链路级异常
|
||||
- 备注:
|
||||
|
||||
### `lcdchq.com`
|
||||
|
||||
- 清缓存时间:
|
||||
- 普通访问:
|
||||
- 首页:
|
||||
- 搜索页:
|
||||
- 详情页:
|
||||
- 播放页:
|
||||
- nocache:
|
||||
- 搜索页:
|
||||
- 详情页:
|
||||
- 播放页:
|
||||
- 当前判断:
|
||||
- [ ] 已恢复一致
|
||||
- [ ] 仍有旧缓存残留
|
||||
- [ ] 不是缓存问题
|
||||
- [ ] 链路级异常
|
||||
- 备注:
|
||||
|
||||
### `cnzhenbang.com`
|
||||
|
||||
- 清缓存时间:
|
||||
- 普通访问:
|
||||
- 首页:
|
||||
- 搜索页:
|
||||
- 分类页:
|
||||
- 详情页:
|
||||
- nocache:
|
||||
- 搜索页:
|
||||
- 详情页:
|
||||
- 当前判断:
|
||||
- [ ] 已恢复一致
|
||||
- [ ] 仍有旧缓存残留
|
||||
- [ ] 不是缓存问题
|
||||
- [ ] 链路级异常
|
||||
- 备注:
|
||||
|
||||
### `oronorent.com`
|
||||
|
||||
- 清缓存时间:
|
||||
- 普通访问:
|
||||
- 首页:
|
||||
- 搜索页:
|
||||
- 详情页:
|
||||
- `robots.txt`:
|
||||
- nocache:
|
||||
- 搜索页:
|
||||
- 详情页:
|
||||
- 当前判断:
|
||||
- [ ] 已恢复一致
|
||||
- [ ] 仍有旧缓存残留
|
||||
- [ ] 不是缓存问题
|
||||
- [ ] 链路级异常
|
||||
- 备注:
|
||||
|
||||
## 5. 本轮结果分组
|
||||
|
||||
### 已恢复一致
|
||||
|
||||
1.
|
||||
2.
|
||||
|
||||
### 仍需继续跟缓存
|
||||
|
||||
1.
|
||||
2.
|
||||
|
||||
### 疑似不是缓存问题
|
||||
|
||||
1.
|
||||
2.
|
||||
|
||||
### 疑似链路级异常
|
||||
|
||||
1.
|
||||
2.
|
||||
|
||||
## 6. 是否可以从优先清缓存名单降级
|
||||
|
||||
### 可以降级的站
|
||||
|
||||
1.
|
||||
2.
|
||||
|
||||
降级标准:
|
||||
|
||||
1. 普通访问与 `?__nocache=1` 已一致
|
||||
2. `h1` 已稳定
|
||||
3. canonical 已稳定
|
||||
|
||||
### 暂不降级的站
|
||||
|
||||
1.
|
||||
2.
|
||||
|
||||
原因:
|
||||
|
||||
1. 普通访问仍旧于 `?__nocache=1`
|
||||
2. `h1` 仍有异常
|
||||
3. canonical 仍有异常
|
||||
|
||||
## 7. 对 A / B 组文档的回写要求
|
||||
|
||||
执行完本页后,应同步更新:
|
||||
|
||||
### A 组
|
||||
|
||||
- [2026-04-18-A组6站-蜘蛛回访分析.md](/www/wwwroot/diff-maccms/SEONexus/docs/2026-04-18-A组6站-蜘蛛回访分析.md)
|
||||
|
||||
需要回写:
|
||||
|
||||
1. `jingxifa.com`
|
||||
2. `cnzhenbang.com`
|
||||
|
||||
### B 组
|
||||
|
||||
- [2026-04-18-B组9站-蜘蛛回访分析.md](/www/wwwroot/diff-maccms/SEONexus/docs/2026-04-18-B组9站-蜘蛛回访分析.md)
|
||||
|
||||
需要回写:
|
||||
|
||||
1. `lcdchq.com`
|
||||
2. `oronorent.com`
|
||||
|
||||
## 8. 是否需要回写 7 天主线
|
||||
|
||||
如果出现以下任一情况,建议回写主线文档:
|
||||
|
||||
1. 首批 4 站里有 2 站以上已恢复一致
|
||||
2. 首批 4 站里有共性的缓存问题仍未解除
|
||||
3. 已明确不是缓存问题,而是模板 / 路由层问题
|
||||
|
||||
回写目标:
|
||||
|
||||
- [2026-04-18-7天推收录执行主线.md](/www/wwwroot/diff-maccms/SEONexus/docs/2026-04-18-7天推收录执行主线.md)
|
||||
|
||||
## 9. 一句话复盘模板
|
||||
|
||||
执行完后,建议最少留下这段:
|
||||
|
||||
```md
|
||||
首批4站缓存复查结果:
|
||||
1. 已恢复一致:
|
||||
2. 仍需继续跟缓存:
|
||||
3. 不是缓存问题:
|
||||
4. 下一步:
|
||||
```
|
||||
263
docs/gpt-template-seo/2026-04-18-首批4站清缓存后复查执行单.md
Normal file
263
docs/gpt-template-seo/2026-04-18-首批4站清缓存后复查执行单.md
Normal file
@@ -0,0 +1,263 @@
|
||||
# 2026-04-18 首批4站清缓存后复查执行单
|
||||
|
||||
这份文档用于承接首批 4 个缓存优先站的复查结果。
|
||||
|
||||
首批执行对象:
|
||||
|
||||
1. `jingxifa.com`
|
||||
2. `lcdchq.com`
|
||||
3. `cnzhenbang.com`
|
||||
4. `oronorent.com`
|
||||
|
||||
建议配合:
|
||||
|
||||
- [2026-04-18-A-B组优先清缓存执行单.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-A-B组优先清缓存执行单.md)
|
||||
- [2026-04-18-清缓存后复查记录单.md](/www/wwwroot/diff-maccms/SEONexus/docs/2026-04-18-清缓存后复查记录单.md)
|
||||
- [2026-04-18-A组6站-蜘蛛回访分析.md](/www/wwwroot/diff-maccms/SEONexus/docs/2026-04-18-A组6站-蜘蛛回访分析.md)
|
||||
- [2026-04-18-B组9站-蜘蛛回访分析.md](/www/wwwroot/diff-maccms/SEONexus/docs/2026-04-18-B组9站-蜘蛛回访分析.md)
|
||||
|
||||
## 1. 执行总览
|
||||
|
||||
- 日期:`2026-04-18`
|
||||
- 执行人:
|
||||
- 本轮目标:
|
||||
- 清除前端旧缓存 HTML
|
||||
- 对照普通访问与 `?__nocache=1`
|
||||
- 复核搜索 / 详情 / 播放页关键 SEO 元素
|
||||
|
||||
## 2. 执行顺序
|
||||
|
||||
1. `jingxifa.com`
|
||||
2. `lcdchq.com`
|
||||
3. `cnzhenbang.com`
|
||||
4. `oronorent.com`
|
||||
|
||||
---
|
||||
|
||||
## 3. `jingxifa.com`
|
||||
|
||||
### 基本信息
|
||||
|
||||
- 清缓存时间:
|
||||
- 执行人:
|
||||
- 缓存层:
|
||||
- 是否清理完成:
|
||||
|
||||
### 复查 URL
|
||||
|
||||
- 首页:`https://www.jingxifa.com/`
|
||||
- 搜索页:`https://www.jingxifa.com/get-index?keyword=京淅发影院`
|
||||
- 详情页:`https://www.jingxifa.com/video-detail/cheng-shi-jian-ke-190614`
|
||||
- 播放页:`https://www.jingxifa.com/video-bofang/hei-yi-nv-ren-de-xiang-shui-183894-default-1`
|
||||
|
||||
### 普通访问
|
||||
|
||||
- 首页状态:
|
||||
- 首页 `X-Cache-Status`:
|
||||
- 搜索页 `h1`:
|
||||
- 搜索页 canonical:
|
||||
- 详情页 `h1`:
|
||||
- 详情页 canonical:
|
||||
- 播放页 `h1`:
|
||||
- 播放页 canonical:
|
||||
|
||||
### `?__nocache=1` 对照
|
||||
|
||||
- 搜索页 `h1`:
|
||||
- 搜索页 canonical:
|
||||
- 详情页 `h1`:
|
||||
- 详情页 canonical:
|
||||
- 播放页 `h1`:
|
||||
- 播放页 canonical:
|
||||
|
||||
### 对照结论
|
||||
|
||||
- 普通访问与 `?__nocache=1` 是否一致:
|
||||
- 当前结论:
|
||||
- [ ] 已恢复一致
|
||||
- [ ] 仍有旧缓存残留
|
||||
- [ ] 不是缓存问题
|
||||
|
||||
### 回写动作
|
||||
|
||||
- 是否已写回 A 组文档:
|
||||
- 是否仍保留在优先清缓存名单:
|
||||
|
||||
---
|
||||
|
||||
## 4. `lcdchq.com`
|
||||
|
||||
### 基本信息
|
||||
|
||||
- 清缓存时间:
|
||||
- 执行人:
|
||||
- 缓存层:
|
||||
- 是否清理完成:
|
||||
|
||||
### 复查 URL
|
||||
|
||||
- 首页:`https://www.lcdchq.com/`
|
||||
- 搜索页:`https://www.lcdchq.com/get-index?keyword=欧美影院`
|
||||
- 详情页:`https://www.lcdchq.com/movie/154180-yi-gua-ding-qing-yuan-ye-ya-tou-jin-cheng-bei-tuan-chong`
|
||||
- 播放页:`待现场补当前真实播放页`
|
||||
|
||||
### 普通访问
|
||||
|
||||
- 首页状态:
|
||||
- 首页 `X-Cache-Status`:
|
||||
- 搜索页 `h1`:
|
||||
- 搜索页 canonical:
|
||||
- 详情页 `h1`:
|
||||
- 详情页 canonical:
|
||||
- 播放页 `h1`:
|
||||
- 播放页 canonical:
|
||||
|
||||
### `?__nocache=1` 对照
|
||||
|
||||
- 搜索页 `h1`:
|
||||
- 搜索页 canonical:
|
||||
- 详情页 `h1`:
|
||||
- 详情页 canonical:
|
||||
- 播放页 `h1`:
|
||||
- 播放页 canonical:
|
||||
|
||||
### 对照结论
|
||||
|
||||
- 普通访问与 `?__nocache=1` 是否一致:
|
||||
- 当前结论:
|
||||
- [ ] 已恢复一致
|
||||
- [ ] 仍有旧缓存残留
|
||||
- [ ] 不是缓存问题
|
||||
|
||||
### 回写动作
|
||||
|
||||
- 是否已写回 B 组文档:
|
||||
- 是否仍保留在优先清缓存名单:
|
||||
|
||||
---
|
||||
|
||||
## 5. `cnzhenbang.com`
|
||||
|
||||
### 基本信息
|
||||
|
||||
- 清缓存时间:
|
||||
- 执行人:
|
||||
- 缓存层:
|
||||
- 是否清理完成:
|
||||
|
||||
### 复查 URL
|
||||
|
||||
- 首页:`https://www.cnzhenbang.com/`
|
||||
- 搜索页:`https://www.cnzhenbang.com/query?keyword=菜鸟臻榜`
|
||||
- 详情页:`https://www.cnzhenbang.com/detail/wei-xian-de-fei-pang-210`
|
||||
- 播放页:`待现场补当前真实播放页`
|
||||
|
||||
### 普通访问
|
||||
|
||||
- 首页状态:
|
||||
- 首页 `X-Cache-Status`:
|
||||
- 搜索页 `h1`:
|
||||
- 搜索页 canonical:
|
||||
- 详情页 `h1`:
|
||||
- 详情页 canonical:
|
||||
- 播放页 `h1`:
|
||||
- 播放页 canonical:
|
||||
|
||||
### `?__nocache=1` 对照
|
||||
|
||||
- 搜索页 `h1`:
|
||||
- 搜索页 canonical:
|
||||
- 详情页 `h1`:
|
||||
- 详情页 canonical:
|
||||
- 播放页 `h1`:
|
||||
- 播放页 canonical:
|
||||
|
||||
### 对照结论
|
||||
|
||||
- 普通访问与 `?__nocache=1` 是否一致:
|
||||
- 当前结论:
|
||||
- [ ] 已恢复一致
|
||||
- [ ] 仍有旧缓存残留
|
||||
- [ ] 不是缓存问题
|
||||
|
||||
### 回写动作
|
||||
|
||||
- 是否已写回 A 组文档:
|
||||
- 是否仍保留在优先清缓存名单:
|
||||
|
||||
---
|
||||
|
||||
## 6. `oronorent.com`
|
||||
|
||||
### 基本信息
|
||||
|
||||
- 清缓存时间:
|
||||
- 执行人:
|
||||
- 缓存层:
|
||||
- 是否清理完成:
|
||||
|
||||
### 复查 URL
|
||||
|
||||
- 首页:`https://www.oronorent.com/`
|
||||
- 搜索页:`https://www.oronorent.com/get-index?keyword=奥诺影视`
|
||||
- 详情页:`https://www.oronorent.com/shipin/154173-yi-gua-ding-qian-kun`
|
||||
- 播放页:`待现场补当前真实播放页`
|
||||
|
||||
### 普通访问
|
||||
|
||||
- 首页状态:
|
||||
- 首页 `X-Cache-Status`:
|
||||
- 搜索页 `h1`:
|
||||
- 搜索页 canonical:
|
||||
- 详情页 `h1`:
|
||||
- 详情页 canonical:
|
||||
- 播放页 `h1`:
|
||||
- 播放页 canonical:
|
||||
|
||||
### `?__nocache=1` 对照
|
||||
|
||||
- 搜索页 `h1`:
|
||||
- 搜索页 canonical:
|
||||
- 详情页 `h1`:
|
||||
- 详情页 canonical:
|
||||
- 播放页 `h1`:
|
||||
- 播放页 canonical:
|
||||
|
||||
### 对照结论
|
||||
|
||||
- 普通访问与 `?__nocache=1` 是否一致:
|
||||
- 当前结论:
|
||||
- [ ] 已恢复一致
|
||||
- [ ] 仍有旧缓存残留
|
||||
- [ ] 不是缓存问题
|
||||
|
||||
### 回写动作
|
||||
|
||||
- 是否已写回 B 组文档:
|
||||
- 是否仍保留在优先清缓存名单:
|
||||
|
||||
---
|
||||
|
||||
## 7. 本轮总判断
|
||||
|
||||
### 已恢复一致
|
||||
|
||||
1.
|
||||
2.
|
||||
|
||||
### 仍需继续跟缓存
|
||||
|
||||
1.
|
||||
2.
|
||||
|
||||
### 疑似不是缓存问题
|
||||
|
||||
1.
|
||||
2.
|
||||
|
||||
## 8. 下一步动作
|
||||
|
||||
1. 是否继续清第二批站:
|
||||
2. 是否需要回写 7 天主线文档:
|
||||
3. 明日优先继续观察哪个域名:
|
||||
4. 是否需要重新回到模板 / 路由排查:
|
||||
220
docs/gpt-template-seo/2026-04-18-首批4站现场执行顺序汇总.md
Normal file
220
docs/gpt-template-seo/2026-04-18-首批4站现场执行顺序汇总.md
Normal file
@@ -0,0 +1,220 @@
|
||||
# 2026-04-18 首批4站现场执行顺序汇总
|
||||
|
||||
这份文档是给现场执行同学直接照着跑的一页版。
|
||||
|
||||
目标:
|
||||
|
||||
1. 先清首批 4 站缓存
|
||||
2. 再跑 `curl` 复查
|
||||
3. 再按判读表判断
|
||||
4. 最后把结论写回执行单和 A / B 组文档
|
||||
|
||||
## 1. 今日执行对象
|
||||
|
||||
按顺序执行:
|
||||
|
||||
1. `jingxifa.com`
|
||||
2. `lcdchq.com`
|
||||
3. `cnzhenbang.com`
|
||||
4. `oronorent.com`
|
||||
|
||||
## 2. 执行前先打开的文档
|
||||
|
||||
现场只需要先打开这 4 份:
|
||||
|
||||
1. [2026-04-18-A-B组优先清缓存执行单.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-A-B组优先清缓存执行单.md)
|
||||
2. [2026-04-18-首批4站清缓存后复查执行单.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-首批4站清缓存后复查执行单.md)
|
||||
3. [2026-04-18-首批4站-curl复查命令清单.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-首批4站-curl复查命令清单.md)
|
||||
4. [2026-04-18-首批4站-curl结果判读表.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-首批4站-curl结果判读表.md)
|
||||
|
||||
## 3. 每个站固定执行步骤
|
||||
|
||||
不要自由发挥,每个站都按下面顺序:
|
||||
|
||||
1. 清前端缓存
|
||||
2. 记下清缓存时间
|
||||
3. 跑首页 header
|
||||
4. 跑搜索页 header
|
||||
5. 跑详情页 header
|
||||
6. 跑播放页 header
|
||||
7. 跑搜索 / 详情 / 播放 `?__nocache=1`
|
||||
8. 抽取 `title` / canonical / `h1`
|
||||
9. 按判读表判断
|
||||
10. 把结果写回执行单
|
||||
|
||||
## 4. 一站一站怎么跑
|
||||
|
||||
### 第一站:`jingxifa.com`
|
||||
|
||||
先做:
|
||||
|
||||
1. 清缓存
|
||||
2. 在执行单里填写:
|
||||
- 清缓存时间
|
||||
- 执行人
|
||||
- 是否清理完成
|
||||
|
||||
然后跑:
|
||||
|
||||
1. 首页:
|
||||
- `https://www.jingxifa.com/`
|
||||
2. 搜索页:
|
||||
- `https://www.jingxifa.com/get-index?keyword=京淅发影院`
|
||||
3. 详情页:
|
||||
- `https://www.jingxifa.com/video-detail/cheng-shi-jian-ke-190614`
|
||||
4. 播放页:
|
||||
- `https://www.jingxifa.com/video-bofang/hei-yi-nv-ren-de-xiang-shui-183894-default-1`
|
||||
|
||||
重点判断:
|
||||
|
||||
1. 详情页 `h1` 是否还带 `0.0`
|
||||
2. 播放页 `h1` 是否还是完整标题
|
||||
3. 普通访问是否已经追上 `?__nocache=1`
|
||||
|
||||
结果写回:
|
||||
|
||||
- [2026-04-18-首批4站清缓存后复查执行单.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-首批4站清缓存后复查执行单.md)
|
||||
- [2026-04-18-A组6站-蜘蛛回访分析.md](/www/wwwroot/diff-maccms/SEONexus/docs/2026-04-18-A组6站-蜘蛛回访分析.md)
|
||||
|
||||
### 第二站:`lcdchq.com`
|
||||
|
||||
先做:
|
||||
|
||||
1. 清缓存
|
||||
2. 在执行单里填写:
|
||||
- 清缓存时间
|
||||
- 执行人
|
||||
- 是否清理完成
|
||||
|
||||
然后跑:
|
||||
|
||||
1. 首页:
|
||||
- `https://www.lcdchq.com/`
|
||||
2. 搜索页:
|
||||
- `https://www.lcdchq.com/get-index?keyword=欧美影院`
|
||||
3. 详情页:
|
||||
- `https://www.lcdchq.com/movie/154180-yi-gua-ding-qing-yuan-ye-ya-tou-jin-cheng-bei-tuan-chong`
|
||||
4. 播放页:
|
||||
- 现场补当前真实播放页
|
||||
|
||||
重点判断:
|
||||
|
||||
1. 详情页 `h1` 是否还带 `0.0`
|
||||
2. 首页与详情页是否都已经恢复
|
||||
3. 普通访问与 `?__nocache=1` 是否一致
|
||||
|
||||
结果写回:
|
||||
|
||||
- [2026-04-18-首批4站清缓存后复查执行单.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-首批4站清缓存后复查执行单.md)
|
||||
- [2026-04-18-B组9站-蜘蛛回访分析.md](/www/wwwroot/diff-maccms/SEONexus/docs/2026-04-18-B组9站-蜘蛛回访分析.md)
|
||||
|
||||
### 第三站:`cnzhenbang.com`
|
||||
|
||||
先做:
|
||||
|
||||
1. 清缓存
|
||||
2. 在执行单里填写:
|
||||
- 清缓存时间
|
||||
- 执行人
|
||||
- 是否清理完成
|
||||
|
||||
然后跑:
|
||||
|
||||
1. 首页:
|
||||
- `https://www.cnzhenbang.com/`
|
||||
2. 搜索页:
|
||||
- `https://www.cnzhenbang.com/query?keyword=菜鸟臻榜`
|
||||
3. 分类页:
|
||||
- `https://www.cnzhenbang.com/category/dong-man`
|
||||
4. 详情页:
|
||||
- `https://www.cnzhenbang.com/detail/wei-xian-de-fei-pang-210`
|
||||
5. 备用详情页:
|
||||
- `https://www.cnzhenbang.com/detail/mo-li-mei-213`
|
||||
|
||||
重点判断:
|
||||
|
||||
1. 搜索页 `h1` 是否正常
|
||||
2. 详情页 `h1` 是否还为空
|
||||
3. 清缓存后是否比之前更接近深页正常输出
|
||||
|
||||
结果写回:
|
||||
|
||||
- [2026-04-18-首批4站清缓存后复查执行单.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-首批4站清缓存后复查执行单.md)
|
||||
- [2026-04-18-A组6站-蜘蛛回访分析.md](/www/wwwroot/diff-maccms/SEONexus/docs/2026-04-18-A组6站-蜘蛛回访分析.md)
|
||||
|
||||
### 第四站:`oronorent.com`
|
||||
|
||||
先做:
|
||||
|
||||
1. 清缓存
|
||||
2. 在执行单里填写:
|
||||
- 清缓存时间
|
||||
- 执行人
|
||||
- 是否清理完成
|
||||
|
||||
然后跑:
|
||||
|
||||
1. 首页:
|
||||
- `https://www.oronorent.com/`
|
||||
2. 搜索页:
|
||||
- `https://www.oronorent.com/get-index?keyword=奥诺影视`
|
||||
3. 详情页:
|
||||
- `https://www.oronorent.com/shipin/154173-yi-gua-ding-qian-kun`
|
||||
4. `robots.txt`:
|
||||
- `https://www.oronorent.com/robots.txt`
|
||||
|
||||
重点判断:
|
||||
|
||||
1. 搜索页 `h1` 是否正常
|
||||
2. 详情页 `h1` 是否还为空
|
||||
3. 普通访问和 `?__nocache=1` 是否仍不一致
|
||||
|
||||
结果写回:
|
||||
|
||||
- [2026-04-18-首批4站清缓存后复查执行单.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-首批4站清缓存后复查执行单.md)
|
||||
- [2026-04-18-B组9站-蜘蛛回访分析.md](/www/wwwroot/diff-maccms/SEONexus/docs/2026-04-18-B组9站-蜘蛛回访分析.md)
|
||||
|
||||
## 5. 每个站执行完后的最小记录
|
||||
|
||||
每个站至少记录这 6 项:
|
||||
|
||||
1. 清缓存时间
|
||||
2. 普通访问状态码
|
||||
3. `?__nocache=1` 状态码
|
||||
4. `h1` 是否一致
|
||||
5. canonical 是否一致
|
||||
6. 当前判定:
|
||||
- 已恢复一致
|
||||
- 仍有旧缓存残留
|
||||
- 不是缓存问题
|
||||
- 链路级异常
|
||||
|
||||
## 6. 不要做的事
|
||||
|
||||
现场执行时,先不要做这些:
|
||||
|
||||
1. 不要先改模板
|
||||
2. 不要先改 nginx
|
||||
3. 不要优先跑测试探针:
|
||||
- `/get-index?wd=test`
|
||||
- `/get/index?wd=test`
|
||||
4. 不要在没比对 `?__nocache=1` 前就说“代码没生效”
|
||||
|
||||
## 7. 执行完后的收口动作
|
||||
|
||||
首批 4 站执行完后,统一做:
|
||||
|
||||
1. 更新首批 4 站执行单
|
||||
2. 更新 A / B 组文档
|
||||
3. 标记哪些站可以从缓存优先名单降级
|
||||
4. 把共性结论补回主线文档
|
||||
|
||||
## 8. 一句话执行口令
|
||||
|
||||
今天这批站统一按这条线执行:
|
||||
|
||||
1. 先清缓存
|
||||
2. 再跑 curl
|
||||
3. 再看 `h1` 和 canonical
|
||||
4. 再判断是不是缓存问题
|
||||
5. 最后写回文档
|
||||
146
docs/gpt-template-seo/2026-04-18-首批4站缓存复查-执行消息模板.md
Normal file
146
docs/gpt-template-seo/2026-04-18-首批4站缓存复查-执行消息模板.md
Normal file
@@ -0,0 +1,146 @@
|
||||
# 2026-04-18 首批4站缓存复查-执行消息模板
|
||||
|
||||
这份文档用于直接发给现场执行同学、运维同学、或临时接手的人。
|
||||
|
||||
你可以直接复制其中任一版本发送,不需要再自己组织。
|
||||
|
||||
## 1. 极简版
|
||||
|
||||
```text
|
||||
今天先不要改代码,也不要先改 nginx。
|
||||
|
||||
先处理这 4 个站:
|
||||
1. jingxifa.com
|
||||
2. lcdchq.com
|
||||
3. cnzhenbang.com
|
||||
4. oronorent.com
|
||||
|
||||
执行顺序:
|
||||
1. 先清前端缓存
|
||||
2. 再跑 curl 复查
|
||||
3. 对比普通访问和 ?__nocache=1
|
||||
4. 看 h1、canonical 是否一致
|
||||
5. 最后把结果回写文档
|
||||
|
||||
先看这几份文档:
|
||||
1. 首批4站现场执行顺序汇总
|
||||
2. 首批4站清缓存后复查执行单
|
||||
3. 首批4站-curl复查命令清单
|
||||
4. 首批4站-curl结果判读表
|
||||
5. 首批4站执行后结果汇总页
|
||||
```
|
||||
|
||||
## 2. 标准版
|
||||
|
||||
```text
|
||||
当前任务不是继续改模板,也不是继续大改 nginx。
|
||||
|
||||
请先执行首批 4 个缓存优先站的缓存复查:
|
||||
1. jingxifa.com
|
||||
2. lcdchq.com
|
||||
3. cnzhenbang.com
|
||||
4. oronorent.com
|
||||
|
||||
执行要求:
|
||||
1. 先清前端缓存
|
||||
2. 记录清缓存时间
|
||||
3. 跑首页 / 搜索页 / 详情页 / 播放页的 curl header
|
||||
4. 再跑对应的 ?__nocache=1
|
||||
5. 抽取 title / canonical / h1
|
||||
6. 判断普通访问是否已经追上 ?__nocache=1
|
||||
7. 把结果写回执行单和汇总页
|
||||
|
||||
注意:
|
||||
1. 不要先改模板
|
||||
2. 不要先改 nginx
|
||||
3. 不要优先跑 /get-index?wd=test 或 /get/index?wd=test 这种测试探针
|
||||
4. 没有对比 ?__nocache=1 之前,不要下结论说代码没生效
|
||||
|
||||
请按这几份文档执行:
|
||||
1. 首批4站现场执行顺序汇总
|
||||
2. 首批4站清缓存后复查执行单
|
||||
3. 首批4站-curl复查命令清单
|
||||
4. 首批4站-curl结果判读表
|
||||
5. 首批4站执行后结果汇总页
|
||||
```
|
||||
|
||||
## 3. 详细版
|
||||
|
||||
```text
|
||||
现在进入首批 4 站缓存复查阶段,先不要继续改模板,也不要继续大改 nginx。
|
||||
|
||||
今天只做这件事:
|
||||
对以下 4 个站执行“清缓存 + curl 复查 + 对照 ?__nocache=1 + 回写结果”:
|
||||
1. jingxifa.com
|
||||
2. lcdchq.com
|
||||
3. cnzhenbang.com
|
||||
4. oronorent.com
|
||||
|
||||
建议执行顺序:
|
||||
第一站:jingxifa.com
|
||||
第二站:lcdchq.com
|
||||
第三站:cnzhenbang.com
|
||||
第四站:oronorent.com
|
||||
|
||||
每个站固定步骤:
|
||||
1. 先清前端缓存
|
||||
2. 记下清缓存时间
|
||||
3. 跑首页 header
|
||||
4. 跑搜索页 header
|
||||
5. 跑详情页 header
|
||||
6. 跑播放页 header
|
||||
7. 跑搜索 / 详情 / 播放 ?__nocache=1
|
||||
8. 抽取 title / canonical / h1
|
||||
9. 判断是否属于:
|
||||
- 已恢复一致
|
||||
- 仍有旧缓存残留
|
||||
- 不是缓存问题
|
||||
- 链路级异常
|
||||
10. 把结果写回执行单和汇总页
|
||||
|
||||
重点提醒:
|
||||
1. jingxifa.com 重点看详情页 h1 是否还带 0.0
|
||||
2. lcdchq.com 重点看详情页 h1 是否还带 0.0
|
||||
3. cnzhenbang.com 重点看详情页 h1 是否还为空
|
||||
4. oronorent.com 重点看详情页 h1 是否还为空
|
||||
|
||||
不要做的事:
|
||||
1. 不要先改模板
|
||||
2. 不要先改 nginx
|
||||
3. 不要优先跑 /get-index?wd=test、/get/index?wd=test
|
||||
4. 不要没看 ?__nocache=1 就说代码没生效
|
||||
|
||||
执行用文档:
|
||||
1. 首批4站现场执行顺序汇总
|
||||
2. 首批4站清缓存后复查执行单
|
||||
3. 首批4站-curl复查命令清单
|
||||
4. 首批4站-curl结果判读表
|
||||
5. 首批4站执行后结果汇总页
|
||||
|
||||
执行后还要同步回写:
|
||||
1. A组6站蜘蛛回访分析
|
||||
2. B组9站蜘蛛回访分析
|
||||
```
|
||||
|
||||
## 4. 文档路径版
|
||||
|
||||
如果对方需要直接点路径,可以发这一版:
|
||||
|
||||
```text
|
||||
请按下面文档执行首批4站缓存复查:
|
||||
|
||||
1. /www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-首批4站现场执行顺序汇总.md
|
||||
2. /www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-首批4站清缓存后复查执行单.md
|
||||
3. /www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-首批4站-curl复查命令清单.md
|
||||
4. /www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-首批4站-curl结果判读表.md
|
||||
5. /www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-首批4站执行后结果汇总页.md
|
||||
|
||||
先处理:
|
||||
1. jingxifa.com
|
||||
2. lcdchq.com
|
||||
3. cnzhenbang.com
|
||||
4. oronorent.com
|
||||
|
||||
要求:
|
||||
先清缓存,再跑 curl,再对照 ?__nocache=1,最后回写结果。
|
||||
```
|
||||
138
docs/gpt-template-seo/2026-04-18-首批4站缓存复查交接说明.md
Normal file
138
docs/gpt-template-seo/2026-04-18-首批4站缓存复查交接说明.md
Normal file
@@ -0,0 +1,138 @@
|
||||
# 2026-04-18 首批4站缓存复查交接说明
|
||||
|
||||
这份说明是给现场执行同学、下一位 Codex、或者临时接手的人看的。
|
||||
|
||||
如果你现在只想知道“我该先做什么”,直接看下面 3 段。
|
||||
|
||||
## 1. 当前任务是什么
|
||||
|
||||
当前不是继续改模板,也不是继续大改 nginx。
|
||||
|
||||
当前任务只有一件事:
|
||||
|
||||
对首批 4 个缓存优先站,执行:
|
||||
|
||||
1. 清前端缓存
|
||||
2. 跑 `curl` 复查
|
||||
3. 判断普通访问是否已经追上 `?__nocache=1`
|
||||
4. 把结果写回文档
|
||||
|
||||
首批 4 站:
|
||||
|
||||
1. `jingxifa.com`
|
||||
2. `lcdchq.com`
|
||||
3. `cnzhenbang.com`
|
||||
4. `oronorent.com`
|
||||
|
||||
## 2. 你只需要看哪几份文档
|
||||
|
||||
如果你不想翻很多文档,只看这 5 份就够了:
|
||||
|
||||
1. 一页执行顺序:
|
||||
- [2026-04-18-首批4站现场执行顺序汇总.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-首批4站现场执行顺序汇总.md)
|
||||
2. 执行单:
|
||||
- [2026-04-18-首批4站清缓存后复查执行单.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-首批4站清缓存后复查执行单.md)
|
||||
3. `curl` 命令:
|
||||
- [2026-04-18-首批4站-curl复查命令清单.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-首批4站-curl复查命令清单.md)
|
||||
4. 结果判读:
|
||||
- [2026-04-18-首批4站-curl结果判读表.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-首批4站-curl结果判读表.md)
|
||||
5. 执行后汇总:
|
||||
- [2026-04-18-首批4站执行后结果汇总页.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-首批4站执行后结果汇总页.md)
|
||||
|
||||
## 3. 最短执行路径
|
||||
|
||||
按这个顺序做,不要跳步:
|
||||
|
||||
1. 先清 `jingxifa.com` 缓存
|
||||
2. 跑文档里的 `curl` 命令
|
||||
3. 看 `h1`、canonical、`?__nocache=1` 是否一致
|
||||
4. 把结果写到执行单
|
||||
5. 再按同样方法处理:
|
||||
- `lcdchq.com`
|
||||
- `cnzhenbang.com`
|
||||
- `oronorent.com`
|
||||
6. 最后把 4 站结果汇总到汇总页
|
||||
|
||||
## 4. 这轮最容易犯的错误
|
||||
|
||||
下面这些不要做:
|
||||
|
||||
1. 不要先改模板
|
||||
2. 不要先改 nginx
|
||||
3. 不要优先跑测试探针:
|
||||
- `/get-index?wd=test`
|
||||
- `/get/index?wd=test`
|
||||
4. 不要在没看 `?__nocache=1` 前就说“代码没生效”
|
||||
|
||||
## 5. 怎么判断问题属于哪一类
|
||||
|
||||
只按这 4 类判断:
|
||||
|
||||
1. 已恢复一致
|
||||
2. 仍有旧缓存残留
|
||||
3. 不是缓存问题
|
||||
4. 链路级异常
|
||||
|
||||
不要自己发明新的结论类型。
|
||||
|
||||
## 6. 每个站重点盯什么
|
||||
|
||||
### `jingxifa.com`
|
||||
|
||||
重点看:
|
||||
|
||||
1. 详情页 `h1` 是否还带 `0.0`
|
||||
2. 播放页 `h1` 是否仍正常
|
||||
|
||||
### `lcdchq.com`
|
||||
|
||||
重点看:
|
||||
|
||||
1. 详情页 `h1` 是否还带 `0.0`
|
||||
2. 普通访问和 `?__nocache=1` 是否已一致
|
||||
|
||||
### `cnzhenbang.com`
|
||||
|
||||
重点看:
|
||||
|
||||
1. 搜索页 `h1` 是否正常
|
||||
2. 详情页 `h1` 是否还为空
|
||||
|
||||
### `oronorent.com`
|
||||
|
||||
重点看:
|
||||
|
||||
1. 搜索页 `h1` 是否正常
|
||||
2. 详情页 `h1` 是否还为空
|
||||
|
||||
## 7. 做完之后要回写哪里
|
||||
|
||||
执行完成后,不要只填执行单,还要回写:
|
||||
|
||||
### A 组
|
||||
|
||||
- [2026-04-18-A组6站-蜘蛛回访分析.md](/www/wwwroot/diff-maccms/SEONexus/docs/2026-04-18-A组6站-蜘蛛回访分析.md)
|
||||
|
||||
需要回写:
|
||||
|
||||
1. `jingxifa.com`
|
||||
2. `cnzhenbang.com`
|
||||
|
||||
### B 组
|
||||
|
||||
- [2026-04-18-B组9站-蜘蛛回访分析.md](/www/wwwroot/diff-maccms/SEONexus/docs/2026-04-18-B组9站-蜘蛛回访分析.md)
|
||||
|
||||
需要回写:
|
||||
|
||||
1. `lcdchq.com`
|
||||
2. `oronorent.com`
|
||||
|
||||
### 汇总页
|
||||
|
||||
- [2026-04-18-首批4站执行后结果汇总页.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-首批4站执行后结果汇总页.md)
|
||||
|
||||
## 8. 如果你只有 30 秒
|
||||
|
||||
只记这句话:
|
||||
|
||||
今天先别改代码,先把 `jingxifa / lcdchq / cnzhenbang / oronorent` 四个站的缓存刷掉,再用现成 `curl` 命令对比普通访问和 `?__nocache=1`,按判读表填结果,最后回写 A/B 组和汇总页。
|
||||
53
docs/gpt-template-seo/README.md
Normal file
53
docs/gpt-template-seo/README.md
Normal file
@@ -0,0 +1,53 @@
|
||||
# GPT Template SEO
|
||||
|
||||
这个目录只放 GPT 模板 SEO 这条支线的文档。
|
||||
|
||||
当前范围已经固定:
|
||||
|
||||
- 只看 `videoGpt1` 及其相关页面输出
|
||||
- 不混入老模板 `1001-1005`
|
||||
- 当前主线是:
|
||||
- GPT 模板页面质量优化
|
||||
- 首批优先域名收录推进
|
||||
- 缓存滞后站复查
|
||||
- 蜘蛛回访日志跟踪
|
||||
|
||||
如果你是第一次进这个目录,按这个顺序看:
|
||||
|
||||
1. 第 1 步:先看 [00-GPT模板SEO公共总览-2026-04-18.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/00-GPT模板SEO公共总览-2026-04-18.md)
|
||||
作用:先用一页搞清楚当前边界、主线、优先站和执行节奏。
|
||||
2. 第 2 步:再看 [01-GPT模板7天SEO执行主线-2026-04-18.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/01-GPT模板7天SEO执行主线-2026-04-18.md)
|
||||
作用:如果你要继续推进,就先按这条主线执行。
|
||||
3. 第 3 步:执行 [02-GPT模板首批4站缓存复查执行单-2026-04-18.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/02-GPT模板首批4站缓存复查执行单-2026-04-18.md)
|
||||
作用:当天先做什么,直接按这里推进。
|
||||
4. 第 4 步:每天用 [03-GPT模板每日复盘模板-2026-04-18.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/03-GPT模板每日复盘模板-2026-04-18.md)
|
||||
作用:统一日报和接手口径。
|
||||
5. 第 5 步:看 [04-GPT模板A-B组日志跟踪板-2026-04-18.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/04-GPT模板A-B组日志跟踪板-2026-04-18.md)
|
||||
作用:把 A/B 组蜘蛛回访和缓存复查收口到一个板里。
|
||||
|
||||
如果你要往下深读,再按下面顺序补:
|
||||
|
||||
1. [05-GPT模板首批4站执行后汇总-2026-04-18.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/05-GPT模板首批4站执行后汇总-2026-04-18.md)
|
||||
2. [06-GPT模板curl复查与判读索引-2026-04-18.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/06-GPT模板curl复查与判读索引-2026-04-18.md)
|
||||
3. [07-GPT模板交接说明-2026-04-18.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/07-GPT模板交接说明-2026-04-18.md)
|
||||
4. [08-GPT模板其它服务器更新交接-2026-04-18.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/08-GPT模板其它服务器更新交接-2026-04-18.md)
|
||||
作用:给“原本也是 GPT 模板、现在要对齐到最新版”的其它服务器接手使用。
|
||||
|
||||
首批 4 站的执行材料也全部放在本目录:
|
||||
|
||||
1. [2026-04-18-A-B组优先清缓存执行单.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-A-B组优先清缓存执行单.md)
|
||||
2. [2026-04-18-首批4站清缓存后复查执行单.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-首批4站清缓存后复查执行单.md)
|
||||
3. [2026-04-18-首批4站-curl复查命令清单.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-首批4站-curl复查命令清单.md)
|
||||
4. [2026-04-18-首批4站-curl结果判读表.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-首批4站-curl结果判读表.md)
|
||||
5. [2026-04-18-首批4站现场执行顺序汇总.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-首批4站现场执行顺序汇总.md)
|
||||
6. [2026-04-18-首批4站执行后结果汇总页.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-首批4站执行后结果汇总页.md)
|
||||
7. [2026-04-18-首批4站缓存复查交接说明.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-首批4站缓存复查交接说明.md)
|
||||
8. [2026-04-18-首批4站缓存复查-执行消息模板.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-18-首批4站缓存复查-执行消息模板.md)
|
||||
|
||||
GPT 模板域名优先级名单也统一放在本目录:
|
||||
|
||||
1. [2026-04-17-GPT站群优先推收录名单.md](/www/wwwroot/diff-maccms/SEONexus/docs/gpt-template-seo/2026-04-17-GPT站群优先推收录名单.md)
|
||||
|
||||
一句话:
|
||||
|
||||
> 这个目录就是 GPT 模板 SEO 专属工作区,公共协作请回 `docs/` 根目录,GPT 模板推进请从这里继续。
|
||||
118
docs/old-tmp-seo/2026-04-17-GPT站群-sitemap入口修复记录.md
Normal file
118
docs/old-tmp-seo/2026-04-17-GPT站群-sitemap入口修复记录.md
Normal file
@@ -0,0 +1,118 @@
|
||||
# 2026-04-17 GPT 站群 sitemap 入口修复记录
|
||||
|
||||
## 背景
|
||||
|
||||
为完成 7 日收录目标,对 GPT 站群做入口体检时发现:
|
||||
|
||||
- 首页普遍正常
|
||||
- `robots.txt` 普遍正常
|
||||
- 但 `sitemap.xml` / `sitemap_index.xml` / `sitemap-main.xml` / `sitemap-videos-1.xml` 普遍 404
|
||||
|
||||
这会直接导致:
|
||||
|
||||
- 蜘蛛拿不到 XML 抓取清单
|
||||
- 模板页脚和 robots 主动指向失效入口
|
||||
|
||||
## 根因拆解
|
||||
|
||||
### 1. 标准 XML 入口兼容不完整
|
||||
|
||||
虽然站内存在 sitemap 生成逻辑,但 GPT 路由侧没有把常见标准入口完全接顺。
|
||||
|
||||
### 2. 真正的 sitemap 文件根本没落盘
|
||||
|
||||
`SiteContext::getSiteMapByCode()` 会直接读取:
|
||||
|
||||
- `storage/SiteMap/<domain>/sitemap_index.xml`
|
||||
- `storage/SiteMap/<domain>/sitemap-main.xml`
|
||||
- `storage/SiteMap/<domain>/sitemap-videos-*.xml`
|
||||
|
||||
但现场排查时:
|
||||
|
||||
- `storage/SiteMap/` 目录不存在
|
||||
- 生成器首次执行时会因 `mkdir()` 不是递归模式而直接报错
|
||||
|
||||
## 已做修复
|
||||
|
||||
### 代码
|
||||
|
||||
- `router.php`
|
||||
- 补齐标准 sitemap XML 入口
|
||||
- `VideoSiteMapLogic.php`
|
||||
- 目录创建改为递归
|
||||
- `SiteMapLogic.php`
|
||||
- 目录创建改为递归
|
||||
|
||||
### 运行
|
||||
|
||||
- 已对 `liangzuan.net` 做定点 sitemap 生成验证
|
||||
- 已启动 GPT 站群全量 VideoSiteMap 生成
|
||||
|
||||
## 已验证结果
|
||||
|
||||
### liangzuan.net
|
||||
|
||||
- `sitemap_index.xml` => 200
|
||||
- `sitemap-main.xml` => 200
|
||||
- `sitemap-videos-1.xml` => 200
|
||||
|
||||
### chuanjiafeng.net
|
||||
|
||||
- `sitemap_index.xml` => 200
|
||||
|
||||
## 二次修正:详情 URL 空 slug
|
||||
|
||||
恢复 sitemap 后继续抽检发现:
|
||||
|
||||
- 部分 `sitemap-videos-*.xml` 里的详情 URL 还带空 slug
|
||||
- 例如 `/film//210`、`/detail/-210`
|
||||
|
||||
根因是视频数据里的 `v_name_en` 并不总是完整。
|
||||
|
||||
已修复:
|
||||
|
||||
- 生成器改为优先使用 `v_name_en`
|
||||
- 如果为空,则回退 `v_name`
|
||||
- 统一归一化成可用 slug
|
||||
|
||||
抽样验证:
|
||||
|
||||
- `liangzuan.net` 新 sitemap 详情 URL => GET 200 / HEAD 200
|
||||
- `cnzhenbang.com` 新 sitemap 详情 URL => GET 200 / HEAD 200
|
||||
|
||||
## 轨迹验收补充
|
||||
|
||||
继续对 5 个 GPT 站做首页→搜索→详情→播放链路探针:
|
||||
|
||||
- `liangzuan.net`
|
||||
- `cnzhenbang.com`
|
||||
- `codohealth.com`
|
||||
- `jingxifa.com`
|
||||
- `gz-yxsw.com`
|
||||
|
||||
结果全部通过:
|
||||
|
||||
- home 200
|
||||
- search 200
|
||||
- detail 200
|
||||
- play 200
|
||||
|
||||
说明当前修复已经不止停留在 XML 层,而是确实把蜘蛛抓取和用户点击后的主要承接链路打通了。
|
||||
|
||||
## 扩样到 15 站后的结果
|
||||
|
||||
进一步扩样到 15 个 GPT 站后:
|
||||
|
||||
- 自动样本发现全部成功
|
||||
- 首页 / 搜索 / 详情 / 播放 4 段链路全部 `200`
|
||||
- `all_passed=1`
|
||||
|
||||
这说明:
|
||||
|
||||
- 当前不是单站偶然成功
|
||||
- 多种不同 URL family 都已具备稳定的收录与点击承接能力
|
||||
|
||||
## 当前价值
|
||||
|
||||
- 抓取入口从“普遍缺失”变成“可恢复、可继续批量生成”
|
||||
- 这一步直接服务于站群收录,不是表面优化
|
||||
72
docs/old-tmp-seo/2026-04-17-liangzuan-域名恢复与深链404修复记录.md
Normal file
72
docs/old-tmp-seo/2026-04-17-liangzuan-域名恢复与深链404修复记录.md
Normal file
@@ -0,0 +1,72 @@
|
||||
# 2026-04-17 liangzuan.net 域名恢复与深链 404 修复记录
|
||||
|
||||
## 背景
|
||||
|
||||
用户反馈:
|
||||
|
||||
- `https://www.liangzuan.net/detail/pinyin-se-ji-shi-kong-yuan-sheng-ban`
|
||||
- 这类不带 id 的详情 URL 不允许再 404
|
||||
- 如果没有 id,需要有可展示的兜底绑定逻辑
|
||||
|
||||
同时线上排查发现:
|
||||
|
||||
- `liangzuan.net` 整站一度出现大量 404
|
||||
- 浏览器 `GET` 能打开的详情深链,`HEAD` 仍返回 404
|
||||
|
||||
## 排查结论
|
||||
|
||||
### 1. 域名表记录丢失
|
||||
|
||||
- `domain` 表内 `liangzuan.net` 记录已不存在
|
||||
- 这是整站级 404 的直接原因
|
||||
|
||||
### 2. 旧域名解析链不够稳
|
||||
|
||||
- `SiteContext` 仍有部分逻辑依赖旧缓存解析
|
||||
- 对运行时 host 的兼容不够完整
|
||||
|
||||
### 3. 深链路由只支持 GET
|
||||
|
||||
- GPT 模板下很多关键路由通过 `Route::get(...)` 注册
|
||||
- 导致 `HEAD` 探测直接 404
|
||||
|
||||
## 已执行动作
|
||||
|
||||
### 域名恢复
|
||||
|
||||
- 使用历史 bootstrap bundle 重新注册 `liangzuan.net`
|
||||
- 重新绑定模板 `videoGpt1`
|
||||
- 重新应用域名级 SEO bootstrap 配置
|
||||
|
||||
### 代码修复
|
||||
|
||||
- `SiteContext.php`
|
||||
- 改为优先使用 `resolveDomainContextByHost(...)`
|
||||
- `VideoService.php`
|
||||
- 新增 slug 归一化
|
||||
- 新增无 id 详情兜底绑定
|
||||
- `router.php`
|
||||
- 详情无 id 兼容路由已补
|
||||
- GPT 模板关键路由统一改为支持 `GET|HEAD`
|
||||
|
||||
## 当前结果
|
||||
|
||||
### 已验证恢复
|
||||
|
||||
- 首页 `GET`:200
|
||||
- 无 id 详情页 `GET`:200
|
||||
- 常规详情页 `GET`:200
|
||||
- 无 id 详情页 `HEAD`:200
|
||||
- 常规详情页 `HEAD`:200
|
||||
|
||||
## 对后续 SEO 的意义
|
||||
|
||||
- 这是 7 日收录目标里的底座修复
|
||||
- 先消灭入口级 404,后续 sitemap 推送、内链抓取、深链收录才有意义
|
||||
- 当前 `liangzuan.net` 已从“整站不可抓”恢复到“可正常抓取深页”
|
||||
|
||||
## 后续跟进建议
|
||||
|
||||
1. 把其它站点也按同样方式抽样做 `GET/HEAD` 双探测。
|
||||
2. 批量排查是否还有“域名记录丢失”或“旧 deep link 只通 GET”的站点。
|
||||
3. 继续扩充 GPT 模板的历史兼容入口,优先消灭详情、播放、分类的老链接 404。
|
||||
199
docs/日志分析模板-收录推进版.md
Normal file
199
docs/日志分析模板-收录推进版.md
Normal file
@@ -0,0 +1,199 @@
|
||||
# 日志分析模板(收录推进版)
|
||||
|
||||
适用场景:
|
||||
|
||||
- GPT 站群 sitemap 提交后
|
||||
- 观察蜘蛛是否开始回访
|
||||
- 观察是否从首页抓取进入搜索 / 详情 / 播放深页
|
||||
- 对比缓存刷新前后是否影响蜘蛛命中
|
||||
|
||||
---
|
||||
|
||||
## 1. 基本信息
|
||||
|
||||
- 日期:
|
||||
- 分析人:
|
||||
- 分析范围:
|
||||
- 单域名 / 多域名
|
||||
- 日志时间窗口:
|
||||
- 例如:`2026-04-17 00:00:00 ~ 2026-04-17 23:59:59`
|
||||
- 关联动作:
|
||||
- 是否刚提交 sitemap
|
||||
- 是否刚清缓存
|
||||
- 是否刚上线模板修复
|
||||
|
||||
---
|
||||
|
||||
## 2. 本轮关注域名
|
||||
|
||||
1. `domain-a.com`
|
||||
2. `domain-b.com`
|
||||
3. `domain-c.com`
|
||||
|
||||
如果是全量分析,建议先列“重点关注域名”,不要一上来把所有域名混在一起。
|
||||
|
||||
---
|
||||
|
||||
## 3. 本轮关注目标
|
||||
|
||||
至少写清楚这次日志分析想回答什么:
|
||||
|
||||
1. sitemap 是否开始被抓?
|
||||
2. 搜索页是否开始被回访?
|
||||
3. 详情页是否开始出现命中?
|
||||
4. 播放页是否开始出现命中?
|
||||
5. 是否仍有旧 404 路径被反复访问?
|
||||
6. 缓存刷新后蜘蛛是否开始命中新 HTML?
|
||||
|
||||
---
|
||||
|
||||
## 4. 蜘蛛来源概览
|
||||
|
||||
建议按蜘蛛类型记录:
|
||||
|
||||
1. 百度蜘蛛
|
||||
2. 必应蜘蛛
|
||||
3. 360 / 搜狗 / 其他中文搜索引擎蜘蛛
|
||||
4. 普通浏览器访问
|
||||
|
||||
示例格式:
|
||||
|
||||
- `Baiduspider`
|
||||
- 请求数:
|
||||
- 命中域名:
|
||||
- 主要命中页面类型:
|
||||
- `bingbot`
|
||||
- 请求数:
|
||||
- 命中域名:
|
||||
- 主要命中页面类型:
|
||||
|
||||
---
|
||||
|
||||
## 5. 各域名命中概览
|
||||
|
||||
每个域名建议按下面结构记录:
|
||||
|
||||
### `example.com`
|
||||
|
||||
- `sitemap`
|
||||
- 是否命中:
|
||||
- 命中次数:
|
||||
- 命中路径:
|
||||
- `search`
|
||||
- 是否命中:
|
||||
- 命中次数:
|
||||
- 命中路径:
|
||||
- `detail`
|
||||
- 是否命中:
|
||||
- 命中次数:
|
||||
- 命中路径:
|
||||
- `play`
|
||||
- 是否命中:
|
||||
- 命中次数:
|
||||
- 命中路径:
|
||||
- `404 old path`
|
||||
- 是否出现:
|
||||
- 典型路径:
|
||||
|
||||
---
|
||||
|
||||
## 6. 正向信号判断
|
||||
|
||||
满足越多,说明推进越有效:
|
||||
|
||||
1. `sitemap_index.xml` / `sitemap-main.xml` / `sitemap-videos-*` 持续被抓
|
||||
2. 搜索页开始被回访
|
||||
3. 详情页开始被重复访问
|
||||
4. 播放页开始被访问
|
||||
5. 命中路径出现连续链路
|
||||
|
||||
推荐记录方式:
|
||||
|
||||
- 是否出现 `sitemap -> search -> detail`
|
||||
- 是否出现 `sitemap -> detail -> play`
|
||||
- 是否出现 `home -> search -> detail`
|
||||
|
||||
---
|
||||
|
||||
## 7. 风险信号判断
|
||||
|
||||
出现以下情况时,建议单独列出来:
|
||||
|
||||
1. sitemap 有抓取,但详情页完全不动
|
||||
2. 搜索页有命中,但详情页没有跟进
|
||||
3. 旧 404 路径仍高频出现
|
||||
4. 普通访问正常,但蜘蛛访问状态码异常
|
||||
5. 只抓首页,不抓深页
|
||||
|
||||
示例格式:
|
||||
|
||||
- 风险 1:
|
||||
- 域名:
|
||||
- 表现:
|
||||
- 可能原因:
|
||||
- 建议动作:
|
||||
|
||||
---
|
||||
|
||||
## 8. 缓存相关观察
|
||||
|
||||
如果该域名在缓存刷新优先清单中,建议单独记录:
|
||||
|
||||
### `example.com`
|
||||
|
||||
- 是否属于缓存滞后站:
|
||||
- 普通访问表现:
|
||||
- `?__nocache=1` 表现:
|
||||
- 两者是否一致:
|
||||
- 当前判断:
|
||||
- 仍是缓存滞后 / 已恢复一致
|
||||
|
||||
---
|
||||
|
||||
## 9. 本轮结论
|
||||
|
||||
用 3 到 6 条写清楚结论,不要泛泛而谈。
|
||||
|
||||
示例:
|
||||
|
||||
1. `liangzuan.net` 已出现 `sitemap -> search -> detail` 连续抓取
|
||||
2. `cnzhenbang.com` 详情页开始重复命中,说明收录推进开始有反馈
|
||||
3. `jingxifa.com` 普通访问仍落后于 `?__nocache=1`,优先判断为缓存滞后
|
||||
4. 旧 404 深链在 `oronorent.com` 仍有残留,建议继续观察兼容路由命中情况
|
||||
|
||||
---
|
||||
|
||||
## 10. 下一步动作
|
||||
|
||||
每轮日志分析结束后,必须给出明确动作,避免只做记录不做推进。
|
||||
|
||||
示例:
|
||||
|
||||
1. 继续提交 A 组剩余 sitemap
|
||||
2. 优先清理 `jingxifa.com` 与 `lcdchq.com` 前端缓存
|
||||
3. 明天重点观察 `cnzhenbang.com` 与 `liangzuan.net` 详情页回访
|
||||
4. 如果 `play` 仍长期无命中,再评估是否继续增强详情页到播放页承接
|
||||
|
||||
---
|
||||
|
||||
## 11. 推荐命名方式
|
||||
|
||||
建议日志分析文档统一使用:
|
||||
|
||||
- `YYYY-MM-DD-域名-日志分析.md`
|
||||
- `YYYY-MM-DD-批次名-蜘蛛回访分析.md`
|
||||
|
||||
例如:
|
||||
|
||||
- `2026-04-18-liangzuan-日志分析.md`
|
||||
- `2026-04-18-A组6站-蜘蛛回访分析.md`
|
||||
|
||||
---
|
||||
|
||||
## 12. 使用建议
|
||||
|
||||
1. 单次不要分析过多域名
|
||||
2. 一份文档尽量回答一个明确问题
|
||||
3. 每轮都要给出下一步动作
|
||||
4. 对缓存滞后站,优先记录“普通访问 vs nocache”差异
|
||||
5. 对已开始回访的站,优先记录“抓取链路是否在变深”
|
||||
Reference in New Issue
Block a user