This commit is contained in:
make
2025-04-23 10:48:54 +08:00
parent c87a377282
commit 0f24fae826
52 changed files with 467 additions and 2599 deletions

View File

@@ -65,9 +65,9 @@
<div class="s-search">
<i class="s-icon-search"></i>
<span class="s-tips">点击搜索</span>
<div class="s-tags">
<!-- <div class="s-tags">
<span class="s-link-tag"></span>
</div>
</div> -->
</div>
</a>
</div>

View File

@@ -1,110 +0,0 @@
<html lang="zh">
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta http-equiv="Cache-Control" content="no-cache,must-revalidate">
<meta http-equiv="Cache-Control" content="no-siteapp">
<meta http-equiv="Cache-Control" content="no-transform">
<meta name="robots" content="index, follow" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>{block name="title"}{/block}</title>
<meta name="keywords" content='{block name="keywords"}{/block}'>
<meta name="description" content='{block name="description"}{/block}'>
<meta http-equiv="mobile-agent" content="format=html5; url={$DomainModel->d_domain}">
<meta name="shenma-site-verification" content="941546c24f6fa26aab1a1c67341a9e07_1653579597">
<link rel="alternate" type="application/vnd.wap.xhtml+xml" media="handheld"
href="{$DomainModel->d_domain}">
<link rel="shortcut icon" href="/template/default/img/favicon.ico" type="image/x-icon">
<link href="/public/layer/need/layer.css" rel="stylesheet">
<link href="/template/default/pc/css/style.css" rel="stylesheet" type="text/css">
{block name="meta-other"}{/block}
{block name="head"}{/block}
{block name="head-css"}{/block}
{block name="head-js"}{/block}
<script>
const strPcPath = `{$strPcPath}`;
</script>
</head>
<body class="novel_home {block name='body-class'}{/block}" id="{block name='body-id'}{/block}">
<div class="topbar">
<div class="topbar-con">
<div class="topbar-sethome"><a href="javascript:winSetHP();">将本站设为首页</a></div>
<div class="topbar-addfavorite"><a href="javascript:winAddFav()">收藏{$DomainModel->d_name}</a></div>
<div class="topbar-right" id="qs_login"><a href="{$strPcPath}{$strBookShelfUrlTemp}">我的书架</a>
</div>
</div>
</div>
<div class="header">
<h1 class="logo"><a href="{$strPcPath}"><span>{$DomainModel->d_name}</span></a></h1>
<form id="novel_search" class="search-form" method="get" action="{$strPcPath}{$strSearchIndexUrlTemp}"><input type="text"
class="input-text input-key" name="keyword" placeholder="输入书名/作者进行搜索"><button type="submit"
class="btn-tosearch" form="novel_search" value="submit">搜索</button></form>
</div>
<ul class="nav">
{if $DomainModel->info_id > 0}
<li><a href="{$strPcPath}/">首 页</a></li>
<li><a href="{$strPcPath}/nindex/">小说首页</a></li>
{else}
<li><a href="{$strPcPath}/">首 页</a></li>
{/if}
<!-- <li><a href="/">首 页</a></li>
<li><a href="/nindex">小说首页</a></li> -->
<!-- <li><a href="{$strPcPath}/">首 页</a></li> -->
{novel:category d_key="strCategoryPinyin" d_val="strCategoryName"}
<li><a href='{$strPcPath}{site:nflurl category="$strCategoryPinyin" status="all" order="all" page="1"/}'>{$strCategoryName}</a></li>
{/novel:category}
<li><a href="{$strPcPath}{$strHistoryUrlTemp}">阅读记录</a></li>
</ul>
{block name="main"}
{/block}
<div class="row">
<div class="layout layout3 layout-col3">
<h2 class="layout-tit">最新标签</h2>
<ul class="txt-list txt-list-row5 tag_news">
{site:forgelist count="50" d_key="d_key" d_val="ForgeNovel" cache_life="86400"}
<a
href='{$strPcPath}{site:nnurl n_id="$ForgeNovel.n_id" n_py="$ForgeNovel.n_name_pinyin" n_fid="$ForgeNovel.n_forge_id"/}'>
{$ForgeNovel.n_forge_title}
</a>
{/site:forgelist}
<a href="/sitemap_index.xml">XML地图</a>
<a href="/site.txt">网站地图</a>
</ul>
</div>
</div>
<div class="footer" id="footer">
<div class="pc-footer">
<p>本站所有内容来源于互联网公开且无需登录即可获取的网页内容本站爬虫遵循robots协议若您的网站不希望被本站爬虫抓取可通过屏蔽novelspider字段实现。<br>本站仅对抓取到的内容由程序自动进行排版处理再展现,不涉及更改内容,不针对任何内容表述任何立场。<br>同时您可手动提交相关目标站点网址给我们(站点内容必须允许游客访问,本站爬虫不会抓取需要登录后才展现内容的站点),爬虫程序会依据负载状态自动爬取相关页面。<br>如内容有违规,请通过本站反馈邮箱提交给我们进行删除处理。
</p>
<p> 反馈邮箱:
{site:cfg code="YOU_XIANG" encode="false"/} Inc. All Rights Reserved. </p>
</div>
</div>
<div id="shuqian"></div>
<script>
const strPushApi = `{site:cfg code="PUSH_API_DOMAIN" encode="false"/}`;
</script>
<script src="/template/default/pc/js/jquery.min.js"></script>
<script src="/public/layer/layer.js" type="module" charset="utf-8"></script>
<script src="/template/default/pc/js/common.js"></script>
<script src="/template/default/js/common.js"></script>
{block name="customize"}
{/block}
<!-- 全局统计 -->
{site:cfg code="PUBLIC_TONGJI_CODE" encode="false"/}
<!-- 站点统计 -->
{$DomainModel->d_statis|raw}
</body>
</html>

View File

@@ -1,5 +1,18 @@
{extend name="baseH5" /}
{block name="get-data"}
{novel:pagerexp page="$Request.get.page" limit="30"
n_category="$Request.route.strCategory"
sort_type="$Request.route.strOrder"
n_status="$Request.route.strStatus"
d_key="d_key"
d_val="Novel"
button_num="8" cache_life="86400" func="generateCategoryPager" export_name="resData" /}
{site:grm page_code="h5_novel_library" diff="$resData.p_data.page" num="40" g_key="arrGrm" /}
{/block}
{block name="title"}{site:replace code="NOVEL@GETLIBRARY@TITLE"}{/block}
{block name="keywords"}{site:replace code="NOVEL@GETLIBRARY@KEYWORDS"}{/block}
{block name="description"}{site:replace code="NOVEL@GETLIBRARY@DESCRIPTION"}{/block}
@@ -56,15 +69,7 @@
{block name="main"}
{novel:pagerexp page="$Request.get.page" limit="30"
n_category="$Request.route.strCategory"
sort_type="$Request.route.strOrder"
n_status="$Request.route.strStatus"
d_key="d_key"
d_val="Novel"
button_num="8" cache_life="86400" func="generateCategoryPager" export_name="resData" /}
{site:grm page_code="h5_novel_library" diff="$resData.p_data.page" num="40" g_key="arrGrm" /}
<p class="site-description">{$strDescription??''}</p>
<div class="layout-root">

View File

@@ -158,7 +158,7 @@ $Novel.n_id{extend name="baseH5" /}
<div class="detail-info">
<div class="detail-cover van-image" >
<img class="van-image__img pre-img lazyload-img" style="object-fit: cover"
<img class="van-image__img pre-img lazyload-img lozad" style="object-fit: cover"
src="/static/img/default.jpg" data-src="{$arrNovel.n_cover_path ?? ''}"
alt="{$arrNovel['n_name'] ?? ''}小说封面 - {$arrNovel.n_author}最新章节" >
</div>

View File

@@ -87,11 +87,12 @@
{novel:list count="8" sort_type="tuijian" d_key="key" d_val="Novel" cache_life="86400"}
<div class="search-tags">
<div class="title"><i class="bi {eq name="key" value="0"}bi-fire {else/} bi-heart-fill{/eq}"></i>
{$Novel.n_name}</div>
<div class="tags tags-rect">
<a class="title" href='{site:nurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin"/}'><i class="bi {eq name="key" value="0"}bi-fire {else/} bi-heart-fill{/eq}"></i>
{$Novel.n_name}
</a>
<a class="tags tags-rect" href='{site:souurl key="$Novel.n_author" p="1"/}'>
<span class="badge badge-light badge-light-click" data-keyword="{$Novel.n_name}">{$Novel.n_author}</span>
</div>
</a>
</div>
{/novel:list}

View File

@@ -1,14 +0,0 @@
{extend name="basePc" /}
{block name='nav-active-class'}home{/block}
{block name="title"}{/block}
{block name="head-js"}{/block}
{block name="main"}
<div>article.......</div>
{/block}
{block name="customize"} {/block}

View File

@@ -1,88 +0,0 @@
{extend name="basePc" /}
{block name='nav-active-class'}home{/block}
{block name="title"}{/block}
{block name="head-js"}{/block}
{block name="main"}
<div class="content">
<!--选择搜索 开始-->
<div class="find">
<!-- <div class="fi_t">
<div class="boFi">
<span><s></s></span>
<input type="text" class="search-val" url="/search.html" name="search_keyword" value=""
placeholder="我要搜.. " maxlength="100" autocomplete="off">
<a href="javascript:;" btn="search_keyword">搜索</a>
</div>
</div> -->
<div class="opt">
<div class="optCl" mod="search_channel">
<span class="optTit">所属分类</span>
<ul>
<li><a class="on" href="/pc/article/list.html" btn="search_category">全部</a></li>
<li><a href="/pc/article/list-1-1.html" btn="search_category">高考作文</a></li>
<li><a href="/pc/article/list-2-1.html" btn="search_category">小说解读</a></li>
<li><a href="/pc/article/list-3-1.html" btn="search_category">影视解说</a></li>
<li><a href="/pc/article/list-4-1.html" btn="search_category">王者荣耀</a></li>
<li><a href="/pc/article/list-5-1.html" btn="search_category">日常八卦</a></li>
<li><a href="/pc/article/list-6-1.html" btn="search_category">其它</a></li>
</ul>
</div>
</div>
</div>
<!--选择搜索 结束-->
<div class="f4 area">
<div class="f4_L">
<div class="new_list">
<ol class="cur">
<li>
<ul class="list_h">
<li class="lb">分类</li>
<li class="sm">书名</li>
<li class="gx">描述</li>
<li class="zz">作者</li>
<li class="sj">更新时间</li>
</ul>
</li>
{foreach $arrNewsNovel as $key=>$Novel}
{include file="Pc/Public/articleList" /}
{/foreach}
</ol>
</div>
</div>
</div>
<!--搜索结果 开始-->
<div class="result" mod="search_data_list">
<!--页码切换 开始-->
<div class="changepage">
<ul class="pagination">
<li class="disabled"><span>«</span></li>
<li class="active"><span>1</span></li>
<li><a href="/pc/article/list--2.html">2</a></li>
<li><a href="/pc/article/list--3.html">3</a></li>
<li><a href="/pc/article/list--4.html">4</a></li>
<li><a href="/pc/article/list--5.html">5</a></li>
<li><a href="/pc/article/list--6.html">6</a></li>
<li><a href="/pc/article/list--7.html">7</a></li>
<li><a href="/pc/article/list--8.html">8</a></li>
<li class="disabled"><span>...</span></li>
<li><a href="/pc/article/list--33.html">33</a></li>
<li><a href="/pc/article/list--34.html">34</a></li>
<li><a href="/pc/article/list--2.html">»</a></li>
</ul>
</div>
<!--页码切换 结束-->
</div>
<!--选择结果 结束-->
</div>
{/block}
{block name="customize"} {/block}

View File

@@ -1,204 +0,0 @@
{extend name="basePc" /}
{block name="title"}{site:replace code="NOVEL@GETLIBRARY@TITLE"}{/block}
{block name="keywords"}{site:replace code="NOVEL@GETLIBRARY@KEYWORDS"}{/block}
{block name="description"}{site:replace code="NOVEL@GETLIBRARY@DESCRIPTION"}{/block}
{block name="head"}
<!-- 社交媒体标签 -->
<meta property="og:title" content='{site:replace code="NOVEL@GETLIBRARY@TITLE"}' />
<meta property="og:description" content='{site:replace code="NOVEL@GETLIBRARY@DESCRIPTION"}' />
{if $Request.route.strGender == 'all' && $Request.route.strCategory == 'all' && $Request.route.strStatus == 'all'}
<meta property="og:url" content="https://{$DomainModel->d_domain}{$strCategoryIndexUrlTemp}" />
{else}
<meta property="og:url"
content='https://{$DomainModel->d_domain}{site:nflurl category="$Request.route.strCategory" status="$Request.route.strStatus" page="$Request.route.intPage"/}' />
{/if}
<meta property="og:type" content="book" />
<!-- 结构化数据 -->
{if $Request.route.strGender == 'all' && $Request.route.strCategory == 'all' && $Request.route.strStatus == 'all'}
<script type="application/ld+json">
{
"@context": "https://{$DomainModel->d_domain}{$strCategoryIndexUrlTemp}",
"@type": "book",
"headline": '{site:replace code="NOVEL@GETLIBRARY@TITLE"}'
"description": '{site:replace code="NOVEL@GETLIBRARY@DESCRIPTION"}',
"datePublished": "{:date('Y-m-d')}"
}
</script>
{else}
<script type="application/ld+json">
{
"@context": 'https://{$DomainModel->d_domain}{site:nflurl category="$Request.route.strCategory" status="$Request.route.strStatus" page="$Request.route.intPage"/}',
"@type": "book",
"headline": '{site:replace code="NOVEL@GETLIBRARY@TITLE"}',
"description": '{site:replace code="NOVEL@GETLIBRARY@DESCRIPTION"}',
"datePublished": "{:date('Y-m-d')}"
}
</script>
{/if}
{/block}
{block name="head-js"}{/block}
{block name="head-css"}
{if $Request.route.strGender == 'all' && $Request.route.strCategory == 'all' && $Request.route.strStatus == 'all'}
<link rel="canonical" href="https://{$DomainModel->d_domain}{$DomainModel->d_domain}{$strCategoryIndexUrlTemp}">
{else}
<link rel="canonical"
href='https://{$DomainModel->d_domain}{site:nflurl category="$Request.route.strCategory" status="$Request.route.strStatus" page="$Request.route.intPage"/}'>
{/if}
{/block}
{block name='nav-active-class'}home{/block}
{block name="main"}
{novel:pagerexp page="$Request.get.page" limit="30"
n_category="$Request.route.strCategory"
sort_type="$Request.route.strOrder"
n_status="$Request.route.strStatus" d_key="d_key"
d_key="d_key"
d_val="Novel" n_num="total"
button_num="10" cache_life="86400" func="generateCategoryPager" export_name="resData" /}
{site:grm page_code="pc_novel_library" diff="$resData.p_data.page" num="70" g_key="arrGrm" /}
<div class="container">
<div class="row row-section">
<div class="layout layout-col3">
{novel:list count="6" sort_type="tuijian" d_key="d_key" d_val="Novel" p_val="page_data" cache_life="86400"}
<div class="item">
<div class="image">
{$arrGrm[$d_key]|raw}
<a href='{$strPcPath}{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}'>
<img style="min-height:120px;" class="lazyload-img" src="/static/img/default.jpg"
data-src="{$Novel.n_cover_path ?? ''}"
alt="{$Novel.n_name ?? ''} - {$Novel.n_category ?? ''}最新章节在线免费阅读">
</a>
</div>
<dl>
<dt>
<span>{$Novel.n_author}</span>
<a
href='{$strPcPath}{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}'>{$Novel.n_name}</a>
</dt>
<dd style="height:90px">
<a href='{$strPcPath}{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}'
style="color: #555">{$Novel.n_description}</a>
</dd>
</dl>
</div>
{/novel:list}
</div>
</div>
<div class="sort_nav">
<p>
<span>分类:</span>
<a class='{eq name="$Request.route.strCategory" value="all"}on {/eq} {eq name="$Request.route.strCategory" value=""}on on2 {/eq}'
href='{$strPcPath}{site:nflurl category="all" status="$Request.route.strStatus" order="$Request.route.strOrder" page="$Request.route.intPage"/}'>不限</a>
{novel:category d_key="strCategoryPinyin" d_val="strCategoryName"}
<a class='{eq name="$Request.route.strCategory" value="$strCategoryPinyin"}on {/eq}'
href='{$strPcPath}{site:nflurl category="$strCategoryPinyin" status="$Request.route.strStatus" order="$Request.route.strOrder" page="$Request.route.intPage"/}'>{$strCategoryName}</a>
{/novel:category}
</p>
<p><span>排序:</span>
{novel:sort d_key="key" d_val="strSortName"}
<a href='{$strPcPath}{site:nflurl category="$Request.route.strCategory" status="$Request.route.strStatus" order="$key" page="$Request.route.intPage"/}'
class='{eq name="$Request.route.strOrder" value="$key"}on {/eq} {if $key == "all" && $Request.route.strOrder == ""}on on2 {/if}'>{$strSortName}</a>
{/novel:sort}
</p>
<p><span>状态:</span>
{novel:status d_key="key" d_val="strStatusName"}
<a href='{$strPcPath}{site:nflurl category="$Request.route.strCategory" status="$key" order="$Request.route.strOrder" page="$Request.route.intPage"/}'
class='{eq name="$Request.route.strStatus" value="$key"}on {/eq} {if $key == "all" && $Request.route.strStatus == ""}on on2 {/if}'
btn="search_category">{$strStatusName}</a>
{/novel:status}
</p>
</div>
<div class="row">
<div class="layout layout2 layout-col1 fr">
<h2 class="layout-tit">最新入库小说</h2>
<ul class="txt-list txt-list-row3">
{novel:list count="30" sort_type="news" d_key="d_key" d_val="Novel" p_val="page_data"
cache_life="86400"}
<li>
<span class="s1">[{$Novel->n_category ?? ''}</span>
<span class="s2">
{$arrGrm[$d_key+6]|raw}
<a
href='{$strPcPath}{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}'>{$Novel->n_name}</a></span>
<span class="s5"><a
href='{$strPcPath}{site:souurl key="$Novel->n_author" p="1"/}'>{$Novel->n_author}</a></span>
</li>
{/novel:list}
</ul>
</div>
<div class="layout layout2 layout-col2 fl">
<h2 class="layout-tit">最近更新小说列表</h2>
<ul class="txt-list txt-list-row5">
{foreach $resData.data as $key=>$Novel}
<li>
<span class="s1">[{$Novel->n_category ?? ''}</span>
<span class="s2">
{$arrGrm[$key+36]|raw}
<a
href='{$strPcPath}{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}'>{$Novel->n_name}</a></span>
<span class="s3"><a
href='{$strPcPath}{site:lcpurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin" /}'
title="{$Novel->n_latest_chapter_name ?? 'null'}">{$Novel->n_latest_chapter_name ??
'null'}</a></span>
<span class="s4">{$Novel.n_author}</span>
<span class="s5">{:date('m-d')}</span>
</li>
{/foreach}
</ul>
</div>
</div>
<!-- 分页 -->
<div class="row sort_page_num">
{volist name="resData.p_data.pager" id="vo" key="k"}
{switch $vo.label}
{case value="上一页"}
{if $resData.p_data.page == 1}
<span>«</span>
{else}
<a href="{$strPcPath}{$vo.url}">«</a>
{/if}
{/case}
{case value="下一页"}
{if $resData.p_data.page >= $resData.p_data.total}
<span>»</span>
{else}
<a href="{$strPcPath}{$vo.url}">»</a>
{/if}
{/case}
{case value="..."}
<span>...</span>
{/case}
{default /}
{if preg_match('/^\d+$/', $vo.label)}
<a href="{$strPcPath}{$vo.url}">{$vo.label}</a>
{/if}
{/switch}
{/volist}
</div>
</div>
{/block}
{block name="customize"}
{/block}

View File

@@ -1,236 +0,0 @@
{extend name="basePc" /}
{block name="title"}{site:replace code="NOVEL@GETNOVELCATALOG@TITLE"}{/block}
{block name="keywords"}{site:replace code="NOVEL@GETNOVELCATALOG@KEYWORDS"}{/block}
{block name="description"}{site:replace code="NOVEL@GETNOVELCATALOG@DESCRIPTION"}{/block}
{block name="head"}
{novel:info n_id="$Request.route.intNovelId" n_key="arrNovel" n_forge_id="0" /}
{site:grm page_code="pc_novel_catalog" diff="$Request.url" num="120" g_key="arrGrm" /}
<!-- 社交媒体标签 -->
<meta property="og:title" content="{$arrNovel['n_name']??'未知小说'}" />
<meta property="og:description" content='{site:replace code="NOVEL@GETNOVELCATALOG@DESCRIPTION"}' />
<meta property="og:url"
content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}' />
<meta property="og:type" content="book" />
<meta property="og:image" content="{$arrNovel.n_cover_path ?? ''}" />
<meta property="og:site_name" content="{$DomainModel->d_name}" />
<meta property="og:novel:category" content="{$arrNovel.n_category ?? ''}">
<meta property="og:novel:author" content="{$arrNovel.n_author ?? ''}">
<meta property="og:novel:book_name" content="{$arrNovel.n_name ?? ''}">
<meta property="og:novel:read_url"
content='https://{$DomainModel->d_domain}{$strPcPath}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrNovel.intFirstChapterSort"/}'>
<meta property="og:novel:status" content="{$arrNovel.n_status ?? ''}">
<meta property="og:novel:update_time" content="{$arrNovel.n_update_time ?? ''}">
<meta property="og:novel:latest_chapter_name" content="{$arrNovel.n_latest_chapter_name ?? ''}">
<meta property="og:novel:latest_chapter_url"
content='https://{$DomainModel->d_domain}{$strPcPath}{site:lcpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
<!-- 可选:支持 Twitter Card -->
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="{$arrNovel['n_name'] ?? '未知小说'}" />
<meta name="twitter:description" content='{site:replace code="NOVEL@GETNOVELCATALOG@DESCRIPTION"}' />
<meta name="twitter:image" content="{$arrNovel.n_cover_path ?? ''}" />
<!-- 结构化数据 -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Book",
"name": "{$arrNovel['n_name'] ?? '未知小说'}",
"description": "{$arrNovel['n_description'] ??'暂无简介'}",
"author": {
"@type": "Person",
"name": "{$arrNovel['n_author'] ??'佚名'}"
},
"publisher": {
"@type": "Organization",
"name": "{$DomainModel->d_name}",
"url": "https://{$DomainModel->d_domain}"
},
"datePublished": "{$arrNovel['n_update_time'] ?? time()}",
"image": "{$arrNovel.n_cover_path ?? ''}",
"url": 'https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}',
"genre": "{$arrNovel.n_category ??''}",
"inLanguage": "zh-CN",
"bookFormat": "https://{$DomainModel->d_domain}/EBook",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.5",
"reviewCount": "100",
},
}
</script>
{/block}
{block name="head-css"}
<link rel="canonical" href='{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
{/block}
{block name="logo-html"}
<h2>
<a href="{$strPcPath}/">
{$DomainModel->d_name}-{$DomainModel->d_text_logo}
</a>
</h2>
{/block}
{block name="head-js"}
{/block}
{block name="body-class"}novel_info{/block}
{block name="main"}
{chapter:pagerexp page="$Request.route.intPage" limit="100" n_id="$Request.route.intNovelId" d_key="d_key" d_val="chapter"
cache_life="86400" button_num="3" sort_type="$Request.route.strOrder" func="generateChapterPager" export_name="resData" /}
<div class="container biqunaicc">
<div class="row row-detail">
<div class="layout layout-col1">
<h2 class="layout-tit xs-hidden">
<a href="{$strPcPath}/">{$DomainModel->d_name}</a>&gt;
<a href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
{$arrNovel['n_name']}
</a>
</h2>
<div class="detail-box">
<div class="imgbox">
<img data-src="{$arrNovel.n_cover_path ?? ''}"
alt="{$arrNovel['n_name'] ?? ''}小说封面 - {$arrNovel.n_author}最新章节"
class="lazyload_book_cover lazyload-img">
</div>
<div class="info">
<div class="top">
<h1>{$arrNovel['n_name']}</h1>
<div class="fix">
<p>&nbsp;&nbsp;者:{$arrNovel.n_author ?? ''}</p>
<p class="xs-show">&nbsp;&nbsp;别:{$arrNovel.n_category ?? ''}</p>
<p class="xs-show">&nbsp;&nbsp;态:{$arrNovel.n_status ?? ''}</p>
<p class="opt">
<span class="xs-hidden">&nbsp;&nbsp;作:</span>
<a rel="nofollow" onclick="addBookshelfFun()">加入书架</a>
<i class="xs-hidden"></i>
<a
href='{$strPcPath}{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/}'>章节目录</a>
<i class="xs-hidden"></i>
<a
href='{$strPcPath}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrNovel.intFirstChapterSort"/}'>开始阅读</a>
</p>
<p>最后更新:{$arrNovel.n_update_time ?? ''} </p>
<p>最新章节:<a
href='{$strPcPath}{site:lcpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
{$arrNovel.n_latest_chapter_name ?? ""}</a></p>
</div>
</div>
<div class="desc xs-hidden">{$arrNovel.n_description ?? ''}</div>
</div>
</div>
</div>
<div class="layout layout-col1">
<h2 class="layout-tit">《{$arrNovel.n_name ?? ''}》{$arrNovel.n_name ?? '章节'}</h2>
<div class="first_txt">
{$arrNovel.strFocus ?? ""} 。看小说就来{$DomainModel->d_name} {$DomainModel->d_domain}...
<p>相邻推荐:
{volist name="arrNovel.n_forge_novel" id="ForgeNovel" key="key"}
{if $key<20 } {$arrGrm[$key+20]|raw} {/if} <a
href='{$strPcPath}{site:nnurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" n_fid="$ForgeNovel.n_forge_id"/}'
class="red">{$ForgeNovel.n_forge_title}</a>
{/volist}
{volist name='$arrNovel.arrRelateveNovel' id='Novel'}
<a
href='{$strPcPath}{site:nurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin" /}'>{$Novel.n_name}</a>&nbsp;&nbsp;
{/volist}
</p>
</div>
</div>
</div>
<div class="row row-section">
<div class="layout layout-col1">
<h2 class="layout-tit">《{$arrNovel.n_name}》章节列表(第{$Request.route.intPage}页)切换倒序/正序:
{if $Request.route.strOrder == 'zheng'}
<a href='{$strPcPath}{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="dao" page="1"/}'
class="habt y">点击切换倒序</a>
{else}
<a href='{$strPcPath}{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/}'
class="habt y">点击切换正序</a>
{/if}
</h2>
<!-- 目录下拉分页-->
{include file="pc/public/allChapterPage" /}
<ul class="section-list fix ycxsid">
{foreach $resData.data as $key=>$Chapter}
<li>
{$arrGrm[$key]|raw}
<a
href='{$strPcPath}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$Chapter.c_sort_num" c_page="0"/}'>
{$Chapter.c_name}
</a>
</li>
{/foreach}
</ul>
<!-- 目录下拉分页-->
{include file="pc/public/allChapterPage" /}
</div>
</div>
<div class="row row-section">
<h2 class="layout-tit">已完结热门小说推荐</h2>
<div class="layout layout-col3">
{novel:list count="6" n_category="$arrNovel.n_category_pinyin" n_status="wanjie" d_key="d_key" d_val="Novel"
cache_life="86400"}
<div class="item">
<div class="image">
{$arrGrm[$d_key+110]|raw}
<a href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
<img style="min-height:120px;" class="lazyload-img" src="/static/img/default.jpg"
data-src="{$Novel.n_cover_path ?? ''}"
alt="{$Novel.n_name ?? ''} - {$Novel.n_category ?? ''}最新章节在线免费阅读">
</a>
</div>
<dl>
<dt><span>{$Novel.n_author}</span><a
href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>{$Novel.n_name}</a>
</dt>
<dd style="height:90px"><a
href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'
style="color: #555">{$Novel.n_description}</a>
</dd>
</dl>
</div>
{/novel:list}
</div>
</div>
</div>
<script>
const strNovelId = `{$arrNovel.n_id}`;
const arrNovel = {
'n_id': `{$arrNovel['n_id']}`,
'n_name_pinyin': `{$arrNovel['n_name_pinyin']}`,
'n_cover_path': `{$arrNovel['n_cover_path']}`,
'n_name': `{$arrNovel['n_name']}`,
'n_author': `{$arrNovel['n_author']}`,
'n_status': `{$arrNovel['n_status']}`,
'n_update_time': `{$arrNovel['n_update_time']}`,
'c_sort_num': 1,
'c_name': `第一章`,
};
</script>
{/block}
{block name="customize"}
{/block}

View File

@@ -1,189 +0,0 @@
{extend name="basePc" /}
{block name="title"}{site:replace code="NOVEL@GETNOVELCHAPTER@TITLE"}{/block}
{block name="keywords"}{site:replace code="NOVEL@GETNOVELCHAPTER@KEYWORDS"}{/block}
{block name="description"}{site:replace code="NOVEL@GETNOVELCHAPTER@DESCRIPTION"}{/block}
{block name="head"}
{site:grm page_code="pc_novel_chapter" diff="$Request.url" num="20" g_key="arrGrm" /}
{novel:info n_id="$Request.route.intNovelId" n_key="arrNovel" n_forge_id="0" /}
{chapter:info n_id="$Request.route.intNovelId" c_sort_num="$Request.route.intChapterSort"
c_page="$Request.route.intChapterPage" c_key="arrChapter" /}
<meta property="og:title" content="{$arrNovel['n_name']??'未知小说'} {$arrChapter.c_name} - {$DomainModel->d_name}" />
<meta property="og:description" content='{site:replace code="NOVEL@GETNOVELCHAPTER@DESCRIPTION"}' />
<meta property="og:url"
content='https://{$DomainModel->d_domain}{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}' />
<meta property="og:type" content="book" />
<meta property="og:image" content="{$arrNovel.n_cover_path ?? ''}" />
<meta property="og:site_name" content="{$DomainModel->d_name}" />
<meta property="og:novel:category" content="{$arrNovel.n_category ?? ''}">
<meta property="og:novel:author" content="{$arrNovel.n_author ?? ''}">
<meta property="og:novel:book_name" content="{$arrNovel.n_name ?? ''}">
<meta property="og:novel:read_url"
content='https://{$DomainModel->d_domain}{$strPcPath}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrChapter.c_sort_num"/}'>
<meta property="og:novel:status" content="{$arrNovel.n_status ?? ''}">
<meta property="og:novel:update_time" content="{$arrNovel.n_update_time ?? ''}">
<meta property="og:novel:latest_chapter_name" content="{$arrChapter.c_name}">
<meta property="og:novel:latest_chapter_url"
content='https://{$DomainModel->d_domain}{$strPcPath}{site:lcpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
<!-- 可选:支持 Twitter Card -->
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="{$arrNovel['n_name']??'未知小说'} {$arrChapter.c_name} - {$DomainModel->d_name}" />
<meta name="twitter:description" content="{$strDescription ?? '暂无简介'}" />
<meta name="twitter:image" content="{$arrNovel.n_cover_path ?? ''}" />
<!-- 结构化数据 -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Book",
"name": "{$arrNovel['n_name'] ?? '未知小说'}",
"author": {
"@type": "Person",
"name": "{$arrNovel['n_author'] ??'佚名'}"
},
"publisher": {
"@type": "Organization",
"name": "{$DomainModel->d_name}",
"url": "https://{$DomainModel->d_domain}"
},
"image": "{$arrNovel.n_cover_path ?? ''}",
"url":'https://{$DomainModel->d_domain}{$strPcPath}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrChapter.c_sort_num" c_page="0"/}',
"inLanguage": "zh-CN",
"genre": "{$arrNovel.n_category ??''}",
"datePublished": "{$arrNovel['n_update_time'] ?? time()}",
"hasPart": {
"@type": "CreativeWork",
"name": "{$arrChapter.c_name ?? ''}",
"url":'https://{$DomainModel->d_domain}{$strPcPath}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrChapter.c_sort_num" c_page="0"/}',
"description": '{site:replace code="NOVEL@GETNOVELCHAPTER@DESCRIPTION"}'
}
}
</script>
{/block}
{block name="head-css"}
<link rel="canonical"
href='https://{$DomainModel->d_domain}{$strPcPath}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrChapter.c_sort_num"/}'>
{/block}
{block name="head-js"}
<script src="/template/default/pc/js/yueduqsbs.js"></script>
{/block}
{block name="body-class"}novel_info{/block}
{block name='nav-active-class'}home{/block}
{block name="main"}
<div class="container biqunaicc">
{$arrGrm[1]|raw}
<div class="row row-detail">
<div class="layout layout-col1">
<h2 class="layout-tit xs-hidden">
<a href="{$strPcPath}/">{$DomainModel->d_name}</a>&gt;<a
href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>{$arrNovel.n_name}</a>
&gt;
{$arrNovel.n_name}(第{$arrChapter.c_sort_num}页)
</h2>
{$arrGrm[2]|raw}
<div class="word_read">
<h3>{$arrNovel.n_name}(第{$arrChapter['c_sort_num']}页)</h3>
<div class="read_btn">
{if $arrChapter && $arrChapter.c_sort_num && $arrChapter.c_sort_num == 1}
<a id="j_chapterPrev" href="javascript:void(0);">上一页</a>
{else}
{$arrGrm[10]|raw}
<a id="j_chapterPrev"
href='{$strPcPath}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrChapter.pre_chapter.c_sort_num" c_page="$arrChapter.pre_chapter.c_page"/}'>上一页</a>
{/if}
<span>|</span>
<a
href='{$strPcPath}{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/}'>章节目录</a>
<span>|</span>
{if $arrChapter.next_chapter && $arrChapter.next_chapter.c_sort_num}
{$arrGrm[9]|raw}
<a id="j_chapterNext"
href='{$strPcPath}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrChapter.next_chapter.c_sort_num" c_page="$arrChapter.next_chapter.c_page"/}'>下一页</a>
{/if}
</div>
{$arrGrm[3]|raw}
<script>document.writeln(qsbs.bb('{$arrChapter.c_content}'));</script>
{$arrGrm[4]|raw}
<p>请勿开启浏览器阅读模式,否则将导致章节内容缺失及无法阅读下一页。</p>
<p>相邻推荐:
{volist name="arrNovel.n_forge_novel" id="ForgeNovel" key="key"}
{if $key<19 } {$arrGrm[$key+9]|raw} {/if} <a
href='{$strPcPath}{site:nnurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" n_fid="$ForgeNovel.n_forge_id"/}'
class="red">{$ForgeNovel.n_forge_title}</a>
{/volist}
{volist name='arrNovel.arrRelateveNovel' id='Novel'}
<a
href='{$strPcPath}{site:nurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin" /}'>{$Novel.n_name}</a>&nbsp;&nbsp;
{/volist}
</p>
{$arrGrm[5]|raw}
<div class="read_btn">
{if $arrChapter && $arrChapter.c_sort_num && $arrChapter.c_sort_num == 1}
<a id="j_chapterPrev" href="javascript:void(0);">上一页</a>
{else}
{$arrGrm[10]|raw}
<a id="j_chapterPrev"
href='{$strPcPath}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrChapter.pre_chapter.c_sort_num" c_page="$arrChapter.pre_chapter.c_page"/}'>上一页</a>
{/if}
<span>|</span>
<a
href='{$strPcPath}{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/}'>章节目录</a>
<span>|</span>
{if $arrChapter.next_chapter && $arrChapter.next_chapter.c_sort_num}
{$arrGrm[9]|raw}
<a id="j_chapterNext"
href='{$strPcPath}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrChapter.next_chapter.c_sort_num" c_page="$arrChapter.next_chapter.c_page"/}'>下一页</a>
{/if}
</div>
{$arrGrm[6]|raw}
</div>
</div>
</div>
<div class="row row-section">
<h2 class="layout-tit">已完结热门小说推荐</h2>
<div class="layout layout-col3">read_btn
{novel:list count="6" n_category="$arrNovel.n_category_pinyin" n_status="wanjie" d_key="d_key" d_val="Novel"
p_val="page_data" cache_life="86400"}
<div class="item">
<div class="image">
{$arrGrm[$d_key+6]|raw}
<a href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
<img style="min-height:120px;" class="lazyload-img" src="/static/img/default.jpg"
data-src="{$Novel.n_cover_path ?? ''}"
alt="{$Novel.n_name ?? ''} - {$Novel.n_category ?? ''}最新章节在线免费阅读">
</a>
</div>
<dl>
<dt><span>{$Novel.n_author}</span><a
href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>{$Novel.n_name}</a></dt>
<dd style="height:90px"><a href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'
style="color: #555">{$Novel.n_description}</a>
</dd>
</dl>
</div>
{/novel:list}
</div>
</div>
</div>
{/block}
{block name="customize"}
{/block}

View File

@@ -1,232 +0,0 @@
{extend name="basePc" /}
{block name="title"}{site:replace code="NOVEL@GETNOVELINFO@TITLE"}{/block}
{block name="keywords"}{site:replace code="NOVEL@GETNOVELINFO@KEYWORDS"}{/block}
{block name="description"}{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION"}{/block}
{block name="head"}
{if $Request.route.intNovelId}
{novel:info n_id="$Request.route.intNovelId" n_key="arrNovel" n_forge_id="0" /}
{else}
{novel:info n_id="$DomainModel->info_id" n_key="arrNovel" n_forge_id="0" /}
{/if}
{site:grm page_code="pc_novel_info" diff="$arrNovel.n_id" num="120" g_key="arrGrm" /}
<!-- 社交媒体标签 -->
<meta property="og:title" content="{$arrNovel['n_name']??'未知小说'}" />
<meta property="og:description" content='{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION"}' />
<meta property="og:url"
content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}' />
<meta property="og:type" content="book" />
<meta property="og:image" content="{$arrNovel.n_cover_path ?? ''}" />
<meta property="og:site_name" content="{$DomainModel->d_name}" />
<meta property="og:novel:category" content="{$arrNovel.n_category ?? ''}">
<meta property="og:novel:author" content="{$arrNovel.n_author ?? ''}">
<meta property="og:novel:book_name" content="{$arrNovel.n_name ?? ''}">
<meta property="og:novel:read_url"
content='https://{$DomainModel->d_domain}{$strPcPath}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrNovel.intFirstChapterSort"/}'>
<meta property="og:novel:status" content="{$arrNovel.n_status ?? ''}">
<meta property="og:novel:update_time" content="{$arrNovel.n_update_time ?? ''}">
<meta property="og:novel:latest_chapter_name" content="{$arrNovel.n_latest_chapter_name ?? ''}">
<meta property="og:novel:latest_chapter_url"
content='https://{$DomainModel->d_domain}{$strPcPath}{site:lcpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
<!-- 可选:支持 Twitter Card -->
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="{$arrNovel['n_name'] ?? '未知小说'}" />
<meta name="twitter:description" content="'{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION"}' />
<meta name="twitter:image" content="{$arrNovel.n_cover_path ?? ''}" />
<!-- 结构化数据 -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Book",
"name": "{$arrNovel['n_name'] ?? '未知小说'}",
"description": "{$arrNovel['n_description'] ??'暂无简介'}",
"author": {
"@type": "Person",
"name": "{$arrNovel['n_author'] ??'佚名'}"
},
"publisher": {
"@type": "Organization",
"name": "{$DomainModel->d_name}",
"url": "https://{$DomainModel->d_domain}"
},
"datePublished": "{$arrNovel['n_update_time'] ?? time()}",
"image": "{$arrNovel.n_cover_path ?? ''}",
"url": 'https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}',
"genre": "{$arrNovel.n_category ??''}",
"inLanguage": "zh-CN",
"bookFormat": "https://{$DomainModel->d_domain}/EBook",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.5",
"reviewCount": "100",
},
}
</script>
{/block}
{block name="head-css"}
<link rel="canonical"
href='{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
{/block}
{block name="logo-html"}
<h2>
<a href="{$strPcPath}/">
{$DomainModel->d_name}-{$DomainModel->d_text_logo}
</a>
</h2>
{/block}
{block name="head-js"}
{/block}
{block name="body-class"}novel_info{/block}
{block name="main"}
<div class="container biqunaicc">
<div class="row row-detail">
<div class="layout layout-col1">
<h2 class="layout-tit xs-hidden">
<a href="{$strPcPath}/">{$DomainModel->d_name}</a>&gt;
<a href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
{$arrNovel['n_name']}
</a>
</h2>
<div class="detail-box">
<div class="imgbox">
<img data-src="{$arrNovel.n_cover_path ?? ''}"
alt="{$arrNovel['n_name'] ?? ''}小说封面 - {$arrNovel.n_author}最新章节"
class="lazyload_book_cover lazyload-img">
</div>
<div class="info">
<div class="top">
<h1>{$arrNovel['n_name']}</h1>
<div class="fix">
<p>&nbsp;&nbsp;者:{$arrNovel.n_author ?? ''}</p>
<p class="xs-show">&nbsp;&nbsp;别:{$arrNovel.n_category ?? ''}</p>
<p class="xs-show">&nbsp;&nbsp;态:{$arrNovel.n_status ?? ''}</p>
<p class="opt">
<span class="xs-hidden">&nbsp;&nbsp;作:</span>
<a rel="nofollow" onclick="addBookshelfFun()">加入书架</a>
<i class="xs-hidden"></i>
<a
href='{$strPcPath}{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/}'>章节目录</a>
<i class="xs-hidden"></i>
<a
href='{$strPcPath}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrNovel.intFirstChapterSort"/}'>开始阅读</a>
</p>
<p>最后更新:{$arrNovel.n_update_time ?? ''} </p>
<p>最新章节:<a
href='{$strPcPath}{site:lcpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
{$arrNovel.n_latest_chapter_name ?? ""}</a></p>
</div>
</div>
<div class="desc xs-hidden">{$arrNovel.n_description ?? ''}</div>
</div>
</div>
</div>
<div class="layout layout-col1">
<h2 class="layout-tit">《{$arrNovel.n_name ?? ''}》{$arrNovel.n_name ?? '章节'}</h2>
<div class="first_txt">
{$arrNovel.strFocus ?? ""} 。看小说就来{$DomainModel->d_name} {$DomainModel->d_domain}...
<p>相邻推荐:
{volist name="arrNovel.n_forge_novel" id="ForgeNovel" key="key"}
{if $key<20 } {$arrGrm[$key+20]|raw} {/if} <a
href='{$strPcPath}{site:nnurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" n_fid="$ForgeNovel.n_forge_id"/}'
class="red">{$ForgeNovel.n_forge_title}</a>
{/volist}
{volist name='$arrNovel.arrRelateveNovel' id='Novel'}
<a
href='{$strPcPath}{site:nurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin" /}'>{$Novel.n_name}</a>&nbsp;&nbsp;
{/volist}
</p>
</div>
</div>
</div>
<div class="row row-section">
<div class="layout layout-col1">
<h2 class="layout-tit">《{$arrNovel.n_name}》最新章节</h2>
<ul class="section-list fix">
{chapter:list count="12" sort_type="dao" n_id="$arrNovel.n_id" d_key="d_key" d_val="Chapter" cache_life="86400"}
<li>
{$arrGrm[$d_key]|raw}
<a
href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>{$Chapter.c_name}</a>
</li>
{/chapter:list}
</ul>
<h2 class="layout-tit">《{$arrNovel.n_name}》章节列表</h2>
<ul class="fix section-list">
{chapter:list count="100" sort_type="zheng" n_id="$arrNovel.n_id" d_key="d_key" d_val="Chapter" cache_life="86400"}
<li>
{$arrGrm[$d_key+10]|raw}
<a
href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>{$Chapter.c_name}</a>
</li>
{/chapter:list}
</ul><a
href='{$strPcPath}{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/}'
class="btn-mulu">查看更多章节...</a>
</div>
</div>
<div class="row row-section">
<h2 class="layout-tit">已完结热门小说推荐</h2>
<div class="layout layout-col3">
{novel:list count="6" n_category="$arrNovel.n_category_pinyin" n_status="wanjie" d_key="d_key" d_val="Novel" p_val="page_data" cache_life="86400"}
<div class="item">
<div class="image">
{$arrGrm[$d_key+110]|raw}
<a href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
<img style="min-height:120px;" class="lazyload-img" src="/static/img/default.jpg"
data-src="{$Novel.n_cover_path ?? ''}"
alt="{$Novel.n_name ?? ''} - {$Novel.n_category ?? ''}最新章节在线免费阅读">
</a>
</div>
<dl>
<dt><span>{$Novel.n_author}</span><a
href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>{$Novel.n_name}</a>
</dt>
<dd style="height:90px"><a
href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'
style="color: #555">{$Novel.n_description}</a>
</dd>
</dl>
</div>
{/novel:list}
</div>
</div>
</div>
<script>
const strNovelId = `{$arrNovel.n_id}`;
const arrNovel = {
'n_id': `{$arrNovel['n_id']}`,
'n_name_pinyin': `{$arrNovel['n_name_pinyin']}`,
'n_cover_path': `{$arrNovel['n_cover_path']}`,
'n_name': `{$arrNovel['n_name']}`,
'n_author': `{$arrNovel['n_author']}`,
'n_status': `{$arrNovel['n_status']}`,
'n_update_time': `{$arrNovel['n_update_time']}`,
'c_sort_num': 1,
'c_name': `第一章`,
};
</script>
{/block}
{block name="customize"}
{/block}

View File

@@ -1,133 +0,0 @@
{extend name="basePc" /}
{block name="title"}{site:replace code="NOVEL@GETSEARCHNOVEL@TITLE"}{/block}
{block name="keywords"}{site:replace code="NOVEL@GETSEARCHNOVEL@KEYWORDS"}{/block}
{block name="description"}{site:replace code="NOVEL@GETSEARCHNOVEL@DESCRIPTION"}{/block}
{block name="head"}
<!-- 社交媒体标签 -->
<meta property="og:title" content={site:replace code="NOVEL@GETSEARCHNOVEL@TITLE"} />
<meta property="og:description" content='{site:replace code="NOVEL@GETSEARCHNOVEL@DESCRIPTION"}' />
<meta property="og:url" content="https://{$DomainModel->d_domain}{site:souurl key='$Request.get.keyword' p='1'/}" />
<meta property="og:type" content="book" />
<meta property="og:site_name" content="{$DomainModel->d_name}">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="{$Request.get.keyword} - {$DomainModel->d_name}搜索 - 第{$Request.get.intPage}页">
<meta name="twitter:description" content="{$Request.get.keyword}搜索结果第{$Request.get.intPage}页,免费阅读小说,快来体验!">
<!-- 结构化数据 -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "SearchResultsPage",
"url": "https://{$DomainModel->d_name}{site:souurl key='$Request.get.keyword' p='1'/}",
"name": "{$DomainModel->d_name} - {$DomainModel->d_name}搜索 第{$Request.get.intPage}页",
"description": "搜索‘{$Request.get.keyword}’结果第{$Request.get.intPage}页,提供{$Request.get.keyword}创作的小说免费阅读。",
"datePublished": "{$arrNovel['n_update_time'] ?? time()}",
"mainEntity": {
"@type": "Book",
"name": "{$DomainModel->d_name}",
"author": {
"@type": "Person",
"name": "{$DomainModel->d_name}"
},
"url": "https://{$DomainModel->d_domain}"
}
}
</script>
{/block}
{block name='nav-active-class'}home{/block}
{block name="title"}{/block}
{block name="meta-other"}{/block}
{block name="body-class"}novel_home novel_search_page{/block}
{block name="main"}
{novel:pagerexp page="$Request.get.page" limit="30"
key="$Request.get.keyword"
d_key="d_key"
d_val="Novel" n_num="total"
p_val="page_data" button_num="10" cache_life="86400" func="generateSearchPager" export_name="resData" /}
{site:grm page_code="pc_novel_search" diff="$Request.url" num="30" g_key="arrGrm" /}
<div class="container">
<div class="row">
<div class="layout layout3 layout-col3 fl">
<h1>{$Request.get.keyword}搜索结果 - {$DomainModel->d_name} 第{$resData.p_data.page}页</h1>
<div class="result search_tip">
搜索<span style="color:red">“{$Request.get.keyword}”</span>相关结果共有 <span
style="color:red">{$resData.p_data.total}</span> 部小说
</div>
{if $resData.p_data.total <1} <p style="text-align: center;line-height: 60px">没有相关数据</p>
{else}
<div class="layout layout-col3">
{foreach $resData.data as $key=>$Novel}
<div class="item">
<div class="image">
{$arrGrm[$key]|raw}
<a href='{$strPcPath}{site:nurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin" /}'>
<img style="min-height:120px;" src="/static/img/default.jpg"
data-src="{$Novel.n_cover_path ?? ''}"
alt="{$Novel['n_name'] ?? ''}小说封面 - {$Novel.n_author}最新章节"
class="lazy lazyload-img">
</a>
</div>
<dl>
<dt><span>{$Novel.n_author}</span><a
href='{$strPcPath}{site:nurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin" /}'>{$Novel.n_name}</a>
</dt>
<dd style="height:90px"><a
href='{$strPcPath}{site:nurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin" /}'
style="color: #555">{$Novel.n_description}</a>
</dd>
</dl>
</div>
{/foreach}
</div>
{/if}
</div>
</div>
<!-- 分页 -->
<div class="row sort_page_num">
{volist name="resData.p_data.pager" id="vo" key="k"}
{switch $vo.label}
{case value="上一页"}
{if $resData.p_data.page == 1}
<span>«</span>
{else}
<a href="{$strPcPath}{$vo.url}">«</a>
{/if}
{/case}
{case value="下一页"}
{if $resData.p_data.page >= $resData.p_data.total}
<span>»</span>
{else}
<a href="{$strPcPath}{$vo.url}">»</a>
{/if}
{/case}
{case value="..."}
<span>...</span>
{/case}
{default /}
{if preg_match('/^\d+$/', $vo.label)}
<a href="{$strPcPath}{$vo.url}">{$vo.label}</a>
{/if}
{/switch}
{/volist}
</div>
</div>
{/block}
{block name="customize"}
{/block}

View File

@@ -1,179 +0,0 @@
{extend name="basePc" /}
{block name="title"}{site:replace code="INDEX@INDEX@TITLE"}{/block}
{block name="keywords"}{site:replace code="INDEX@INDEX@KEYWORDS"}{/block}
{block name="description"}{site:replace code="INDEX@INDEX@DESCRIPTION"}{/block}
{block name="head-css"}
<link rel="canonical" href="https://{$DomainModel->d_domain}/">
{/block}
{block name="head"}
<!-- 社交媒体标签 -->
<meta property="og:title" content='{site:replace code="INDEX@INDEX@TITLE"}' />
<meta property="og:description" content='{site:replace code="INDEX@INDEX@DESCRIPTION"}' />
<meta property="og:url" content="https://{$DomainModel->d_domain}" />
<meta property="og:type" content="website" />
<!-- 结构化数据 -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"name": "{$DomainModel->d_name}",
"url": "https://{$DomainModel->d_domain}",
"headline": '{site:replace code="INDEX@INDEX@TITLE"}',
"description": '{site:replace code="INDEX@INDEX@DESCRIPTION"}',
"datePublished": "{:date('Y-m-d')}"
"potentialAction": {
"@type": "SearchAction",
"target": 'https://{$DomainModel->d_domain}{site:souurl key="search_term_string" p="1"/}',
"query-input": "required name=search_term_string"
}
}
</script>
{/block}
{block name="main"}
{site:grm page_code="pc_index" diff="0" num="150" g_key="arrGrm" /}
<div class="container biqunaicc">
<div class="row">
<div class="layout layout-col2">
{novel:list count="4" sort_type="tuijian" n_status="lianzai" d_key="d_key" d_val="Novel" p_val="page_data"
cache_life="86400"}
<div class="item">
<div class="image">
{$arrGrm[$d_key]|raw}
<a href='{$strPcPath}{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}'>
<img style="min-height:120px;" class="lazyload-img" src="/static/img/default.jpg"
data-src="{$Novel.n_cover_path ?? ''}"
alt="{$Novel.n_name ?? ''} - {$Novel.n_category ?? ''}最新章节在线免费阅读">
</a>
</div>
<dl>
<dt>
<span>{$Novel.n_author ?? ''}</span>
<a href='{$strPcPath}{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}'>{$Novel.n_name
?? ''}</a>
</dt>
<dd style="height:90px">
<a href='{$strPcPath}{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}'
style="color: #555">
{$Novel.n_description ?? ''}
</a>
</dd>
</dl>
</div>
{/novel:list}
</div>
<div class="layout layout-col1">
<h2 class="layout-tit">经典推荐</h2>
<ul class="txt-list txt-list-row3">
{novel:list count="9" sort_type="tuijian" n_status="wanjie" d_key="d_key" d_val="Novel"
p_val="page_data" cache_life="86400"}
<li>
<span class="s1">[{$Novel->n_category ?? ''}</span>
<span class="s2">
{$arrGrm[$d_key+4]|raw}
<a
href='{$strPcPath}{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}'>{$Novel->n_name}</a></span>
<span class="s5">
<a href='{site:souurl key="$Novel->n_author" p="1"/}'>{$Novel->n_author}</a>
</span>
</li>
{/novel:list}
</ul>
</div>
</div>
<div class="row">
<div class="layout">
{novel:category d_key="strCategoryPinyin" d_val="strCategoryName"}
<div class="tp-box">
<h2>{$strCategoryName}</h2> <!-- 分类标题 -->
<div class="top">
<?php $start = 1 ;$start +=1 ;?>
{novel:list count="1" n_category="$strCategoryPinyin" sort_type="news" d_key="d_key" d_val="Novel"
p_val="page_data" cache_life="86400"}
<div class="image">
{$arrGrm[$d_key+9+10*$start]|raw}
<a href='{$strPcPath}{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}'>
<img class="lazyload-img" src="/static/img/default.jpg"
data-src="{$Novel.n_cover_path ?? ''}"
alt="{$Novel.n_name ?? ''} - {$Novel.n_category ?? ''}最新章节在线免费阅读">
</a>
</div>
<dl>
<dt><a
href='{$strPcPath}{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}'>{$Novel->n_name}</a>
</dt>
<dd><a href='{$strPcPath}{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}'
style="color: #555">{$Novel.n_description ?? ''}</a></dd>
</dl>
{/novel:list}
</div>
<ul>
{novel:list count="12" n_category="$strCategoryPinyin" sort_type="news" d_key="d_key" d_val="Novel"
p_val="page_data" cache_life="86400"}
<li>
{$arrGrm[$d_key+9+10*$start]|raw}
<a
href='{$strPcPath}{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}'>{$Novel->n_name}</a>/<a
href='{site:souurl key="$Novel->n_author" p="1"/}'>{$Novel->n_author}</a></li>
{/novel:list}
</ul>
</div>
{/novel:category}
</div>
</div>
<div class="row">
<div class="layout layout2 layout-col1 fr">
<h2 class="layout-tit">最新入库小说</h2>
<ul class="txt-list txt-list-row3">
{novel:list count="50" sort_type="news" d_key="d_key" d_val="Novel" p_val="page_data"
cache_life="86400"}
<li>
<span class="s1">[{$Novel->n_category ?? ''}]</span>
<span class="s2">
{$arrGrm[$d_key+100]|raw}
<a
href='{$strPcPath}{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}'>{$Novel->n_name}</a></span>
<span class="s5"><a href='{site:souurl key="$Novel->n_author" p="1"/}'>{$Novel->n_author}</a></span>
</li>
{/novel:list}
</ul>
</div>
<div class="layout layout2 layout-col2 fl">
<h2 class="layout-tit">最近更新小说列表</h2>
<ul class="txt-list txt-list-row5">
{novel:list count="50" sort_type="update" d_key="d_key" d_val="Novel" p_val="page_data"
cache_life="86400"}
<li>
<span class="s1">[{$Novel->n_category ?? ''}]</span>
<span class="s2">
{$arrGrm[$d_key+100]|raw}
<a
href='{$strPcPath}{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}'>{$Novel->n_name}</a></span>
<span class="s3"><a
href='{$strPcPath}{site:lcpurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin" /}'
title="{$Novel->n_latest_chapter_name ?? 'null'}">{$Novel->n_latest_chapter_name ??
'null'}</a></span>
<span class="s4"><a href='{site:souurl key="$Novel->n_author" p="1"/}'>{$Novel->n_author}</a></span>
<span class="s5">{:date('m-d')}</span>
</li>
{/novel:list}
</ul>
</div>
</div>
</div>
{/block}
{block name="customize"}
{/block}

View File

@@ -1,11 +0,0 @@
<!-- <div class="adv">
<a href="#" title="" target="_blank">
<img src="/template/kuangyu/home/bai_web/images/grey.gif"
data-src="/template/kuangyu/home/bai_web/images/1120x100.png" class="lazyload" alt="">
</a>
</div> -->
<a href="#" title="" target="_blank">
<img src="/template/kuangyu/home/bai_web/images/grey.gif"
data-src="/template/kuangyu/home/bai_web/images/1120x100.png" class="lazyload" alt="">
</a>

View File

@@ -1,35 +0,0 @@
{if !empty($resData.p_data.pager)}
<div class="page_num">
{volist name="$resData.p_data.pager" id="item"}
{eq name="item.type" value="prev"}
<a href="{$item.url ? $strPcPath . $item.url: 'javascript:void(0)'}"
class="z {$item.disabled ? 'disabled' : ''}">
{$item.label}
</a>
{/eq}
{/volist}
<select onchange="self.location.href=options[selectedIndex].value">
{volist name="$resData.p_data.pager" id="item"}
{eq name="item.type" value="page"}
<?php $intLimit = $resData['p_data']['limit']; ?>
<?php $start = ($item['label'] - 1) * $intLimit + 1; ?>
<?php $end = $item['label'] * $intLimit; ?>
<option value="{$strPcPath}{$item.url}" {$item.current ? 'selected' : ''}>
第{$start}-{$end}章
</option>
{/eq}
{/volist}
</select>
{volist name="$resData.p_data.pager" id="item"}
{eq name="item.type" value="next"}
<a href="{$item.url ? $strPcPath . $item.url: 'javascript:void(0)'}"
class="y {$item.disabled ? 'disabled' : ''}">
{$item.label}
</a>
{/eq}
{/volist}
</div>
{/if}

View File

@@ -1,12 +0,0 @@
<li>
<ul>
<li class="lb"><a href="/pc/article/info-332.html" target="_blank">耽美百合</a></li>
<li class="sm">
<h3><a href="/pc/article/info-332.html" title="我真是一条龙" target="_blank">我真是一条龙</a></h3>
</li>
<li class="gx"><a href="/pc/article/info-332.html" title="老读者必看公告!!!"
target="_blank">老读者必看公告!!!</a></li>
<li class="zz">兔子很淡定</li>
<li class="sj">1天前</li>
</ul>
</li>

View File

@@ -1,6 +0,0 @@
<li id="chapter-4b2d5aab58d71" class="on">
<a href="chapter/1-1-1.html">01 天龙问世</a>
</li>
<li id="chapter-486ef2abee55d">
<a href="/chapter/1-1-1.html">02 沧武的小霸王</a>
</li>

View File

@@ -1,11 +0,0 @@
<li>
<a href="/pc/novel/334.html" title="落魄千金美食发家日常" target="_blank" class="book_cov">
<img class="lazyload_book_cover lazyload-img"
src="/static/img/default.jpg" data-src="https://www.630zw.org/img/176943.jpg"
alt="落魄千金美食发家日常">
</a>
<div class="book_inf">
<h3><a href="/pc/novel/334.html" title="落魄千金美食发家日常" target="_blank">落魄千金美食发家日常</a></h3>
<span class="aut">鱼昆子</span>
</div>
</li>

View File

@@ -1,22 +0,0 @@
<div class="foot">
<div class="foot_T">
<div class="tWrap">
<p>友情链接</p>
<ul>
<li><a href="http://www.kyxscms.com" target="_blank">狂雨小说cms</a></li>
</ul>
</div>
</div>
<div class="foot_B">
<p class="Co">
Copyright (C) 2008-2020 All rights reserved
<br>
<a href="javascript:void(0)" style="margin: 0 10px;"></a>
</p>
<p>请所有作者发布作品时务必遵守国家互联网信息管理办法规定,我们拒绝任何色情小说,一经发现,即作删除!本站所收录作品、社区、书库评论及本站所做之广告均属其个人行为,与本站立场无关</p>
</div>
</div>
<span class="gotop" id="btn_back_top" title="返回顶部">
<img src="/template/kuangyu/home/bai_web/images/gotop.png" data-src="/template/kuangyu/home/bai_web/images/gotop.png" alt="返回顶部"
ysrc="/template/kuangyu/home/bai_web/images/gotop.png">
</span>

View File

@@ -1,23 +0,0 @@
<tr>
<td>
<a href="/pc/novel/332.html" target="_blank">
<img class="lazyload-img"
src="/static/img/default.jpg" data-src="https://www.630zw.org/img/176943.jpg"></a>
</td>
<td class="t2">
<a href="/pc/novel/332.html" target="_blank">我真是一条龙</a>
</td>
<td class="t3">
<a href="/pc/chapter/1-1-1.html" target="_blank">老读者必看公告!!!</a>
</td>
<td class="t4">
<a href="/pc/novel/332.html" target="_blank">兔子很淡定</a>
</td>
<td class="t5">3天前</td>
<td class="t6">已完结</td>
<td class="t7">
<a href="/pc/chapter/1-1-1.html" class="goon" target="_blank">阅读</a>
<i><span class="Collection" ajax-get="" >删除</span></i>
</td>
</tr>

View File

@@ -1,15 +0,0 @@
<div class="bookLink">
<a href="/pc/novel/265.html" target="_blank">
<div class="bookImg">
<img class="lazyload-img"
src="/static/img/default.jpg" data-src="https://www.630zw.org/img/176943.jpg">
</div>
<div>
<h2>重生八零:寡妇带娃巧发家</h2>
<span>姣大憨</span>
<p> 【萌宝+美食+种田+爽文】现代单身美食博主许芳华一朝穿越,竟成为八零年代小寡妇。 丈夫因公殉职,婆婆小姑子霸占抚恤金不撒手,婆家兄长对这三间瓦房虎视眈眈。
许芳华看着怀里瑟瑟发抖的小女儿,撸起袖子就去虐渣。吃了我的给我吐出来,占了我的给我还回来! 作为一个现代独立女性,看她如何用美食养娃致富,人生赢家妥妥的!
本站提示各位书友要是觉得《重生八零寡妇带娃巧发家》还不错的话请不要忘记向您QQ群和微博里的朋友推荐哦</p>
</div>
</a>
</div>

View File

@@ -1,3 +0,0 @@
<div class="bookLink oneLine">
<a href="/pc/novel/293.html" target="_blank"><em>「武侠仙侠」</em>玻璃焰</a>
</div>

View File

@@ -1,17 +0,0 @@
<li>
<h3><a href="/pc/novel/293.html" title="玻璃焰" target="_blank">玻璃焰</a></h3>
<div class="book_inf">
<span class="aut">美绿哔哔</span>
<span class="tag"><a href="/lists/19.html" target="_blank">武侠仙侠</a></span>
<a href="/pc/novel/293.html" title="玻璃焰" target="_blank" class="book_cov">
<img class="lazyload_book_cover lazyload-img"
src="/static/img/default.jpg" data-src="https://www.630zw.org/img/176943.jpg"
alt="玻璃焰">
</a>
<p class="int"> 已签约实体待上市【天生坏种x清冷校花】【大学校园、男追女、协议情侣、强制爱、破镜重圆】黎幸在整个西京大学都很有名。
高考状元,够美,够穷。这样的人,外貌不是恩赐,是原罪。楼崇,出生即登上金字塔最顶层的存在优越家世,顶级皮囊但却是个十足十的人渣。
——这样两个毫无交集的人,某天却被人撞见楼崇的阿斯顿马丁车内黎幸被单手抱起跨坐在腿上,后背抵着方向盘车窗光影交错,男人冷白精致的侧脸清晰可见,扣着她的手腕,亲自教她怎么扯开自己的领结。
—— “协议女友,知道什么意思吗?” “意思是牵手,接吻,拥抱,上床。” “以及,爱上我。” “一步不能少。”—— “玻璃焰,玻璃高温产生的火焰,银蓝色,很美。”
本站提示各位书友要是觉得《玻璃焰》还不错的话请不要忘记向您QQ群和微博里的朋友推荐哦</p>
</div>
</li>

View File

@@ -1,44 +0,0 @@
<div class="f3_L">
<h3><a href="/pc/novel/294.html" title="渣攻的白月光总对我打直球" target="_blank">渣攻的白月光总对我打直球</a></h3>
<a href="/pc/novel/294.html" title="渣攻的白月光总对我打直球" target="_blank" class="book_cov">
<img class="lazyload_book_cover lazyload-img"
src="/static/img/default.jpg" data-src="https://www.630zw.org/img/176943.jpg"
alt="渣攻的白月光总对我打直球">
</a>
<div class="book_inf">
<div class="book_inf01">
<span class="aut">作者:不见仙踪</span>
<span class="fr">分类:<a href="/lists/19.html" target="_blank">武侠仙侠</a></span>
<span>字数24.20万字+</span>
<span class="fr">进度:已完结</span>
<span>总点击0</span>
</div>
<p class="int"> 【下本开《分手后四个鬼攻同时找上我》嗷~】 大二上学期,宣从南被一个温柔至极的男人追求;大二下学期,宣从南和沈迁在一起。
两个人谈了一年恋爱,宣从南发现,沈迁照常温柔,但他却常常把这样的话挂在嘴边: “不要笑。” “安静一点。” “不要太闹腾。” “眼里不要有温度。” “这样才像他。” 宣从南:……哦。
宣从南走了,潇洒果决,晚上却在路边捡到一个看起来落魄至极的男人。他耷拉着眉眼,带口罩,安静地坐在花坛边,似乎是在晒月光。 这人倒是很安静,还不笑,更不闹腾,眼里也没有温度。
宣从南把人捡回家了。他发现,这个名叫顾拾的男人竟然是娱乐圈里的顶流,只不过他不太关注娱乐圈,这才错误地把拥有千万粉丝的人捡回了家。
宣从南还发现,顾拾虽然过分冷淡,但他打直球说能不能喜欢我;顾拾虽然安静不闹腾,但他打直球说能不能抱抱我;顾拾虽然眼睛里没什么温度,但他打直球说能不能做…… 宣从南:这就是顶流吗?
“同居”段时间,两人顺理成章地谈恋爱。 又同居段时间,宣从南忽而得知顾拾就是沈迁爱而不得的白月光。 宣从南:……命运啊。
为了避免尴尬,他收拾行李又打算跑,刚走到门口却只听一道开门声,顾拾裹挟着外面的寒气进来,轻轻带上门。 宣从南:…… 顾拾冷淡的目光从上到下打量他,最后落在行李箱上。 “去哪儿?”他问。
宣从南捏紧行李杆,正欲说话,顾拾又道: “你想甩了我?” …… 这天晚上有狗仔拍到顾拾进了一间出租屋。 除了顾拾,窗户玻璃上还映出另外一道男性身影,他手边还有个行李箱。
紧接着,一向喜怒不形于色的顾拾猛地推开行李箱,拽起另一人的手腕去了卧室。 一夜没出来。 【阅读指南】: 1V1HE甜文。 *攻非常非常非常爱受,非常非常非常宠受
*攻能直球绿茶也能偏执疯批,属性复杂,天使们直接看文叭 *有打脸剧情 *无原型,勿代入现实。我写文为了快乐,也只想让读者快乐~ *感谢支持正版,给大家鞠躬啦~
★下本《分手后四个鬼攻同时找上我》求收藏~ 宴祀亭是个小道士,山生山长,没见过外面的天,最大的雄心壮志是杀死鬼王。 但他怕鬼,还花心。 下山后进城,他在酒吧泡了一个大学教授做男朋友。
教授克制古板,一副性冷淡的模样。 但他“暴力”且沉沦地教会了宴祀亭在床上的108种姿势。 每天晚上宴祀亭都被哔的“身心俱散”。 随着感情渐深,教授带宴祀亭回家见父母。 他家里有鬼,好多鬼。
那些鬼躲在门外、趴在床底听他和教授...... 宴祀亭瑟瑟发抖,教授却像没事人,依然一次比一次深入。 宴祀亭:师父救命——
日复一日,教授变得愈发过分。他中午要抱宴祀亭亲昵,下午要抱宴祀亭厮磨,晚上要抱宴祀亭深入交流,非常不节制。 最后他还设门禁时间限制宴祀亭的出行,控制欲极强。 宴祀亭受不了,把人踹了。
他谈了第二个男朋友。 但为什么温柔先生最后因他变得野蛮,各种道具都上场; 绅士先生因他变成恶棍,让他不准离开自己的视线; 禁欲先生因他变得纵荡,永远都要按着他驰骋......
宴祀亭:师父我遇到了好多变态,我要回山立刻马上! 身心遭受“严重摧残”的宴祀亭决定封心锁爱,这辈子都不要泡男人了,要去完成自己的雄心壮志——杀死鬼王。
紧接着被甩的教授将他堵在家门口,唇角带笑声含魅:“不是要杀我吗?我来了。” 晦暗夜色下,教授身后又慢慢浮现出温柔先生、绅士先生、禁欲先生的身影,他们都在盯着宴祀亭。
教授柔声道:“你是要我们一起来,还是一个一个来呢。” 宴祀亭抖如筛糠无可逃脱地被他们推进了卧室。恶鬼们商量谁先来,最后愉快地决定一起。 “不要,救命啊啊啊啊啊啊啊啊啊——” *切片攻
*所有躲门外趴床底听床戏的,都是攻的切片 ★求预收《不是人也能攻我?》收藏~ 司徒禁肩宽窄腰身材好胸肌饱满腿长在男同界是被许多人觊觎的优质1。
有人找司徒禁拍钙片,身为直男的司徒禁果断拒绝。 等再醒来,司徒禁发现他穿到了异世界。 这里到处是妖魔鬼怪。
司徒禁有个极倒霉的倒霉体质,喝凉水塞牙缝,吃东西噎喉咙,睡觉能窒息。再又一次平地摔跤后,司徒禁气得破口大骂。 那些神经病又来了。 玛德,这次还敢撕他衣服!
这个世界不止他一个倒霉蛋还有ABCDE等男人进来了。 老乡见老乡两眼泪汪汪,司徒禁和大家互相扶持,把这群想上他的变态杀得四处逃窜。 然后有一天,司徒禁看见男人 A 帮鬼撕碎了他的上衣。
司徒禁:? 男人B帮鬼扯烂了他的裤子。 司徒禁:?? 男人C帮鬼拽掉了他的衬衫夹。 司徒禁:??? 混乱中,谁摸了他的胸肌! 谁捏了他的屁股!! 谁掰开了他的腿!!!
司徒禁冷笑:想攻我的千千万,你算哪块小饼干?! ABCDE 得逞,鬼得逞,怪物藤蔓得手,触手得逞...... 被迫野战后司徒禁躺在草地里抽事后烟,沉思:是个人都能攻我?不是人也能攻我?
而他不知道,他进入的异世界其实是一个系列视频,无数观众坐在电视机前,每天就为了看他闯关。 司徒禁:什么关?“床”关吗? *切片攻,每个都为了受打得头破血流,甚至想杀了自己的分身
*受极度理智冷静大胸美人 *攻疯得一批,每个切片都想独占囚禁受 *直播镜头前的观众只能看正经闯关,其他的看不到,花钱做榜一也没用
本站提示各位书友要是觉得《渣攻的白月光总对我打直球》还不错的话请不要忘记向您QQ群和微博里的朋友推荐哦</p>
</div>
</div>

View File

@@ -1,16 +0,0 @@
<li>
<em class="red_bg">{$key+=1}</em>
<h3 class="name"><a href="/pc/novel/276.html" title="娱乐宗师" target="_blank">娱乐宗师</a></h3>
<div class="open">
<a href="/pc/novel/276.html" title="娱乐宗师" target="_blank" class="book_cov">
<img class="lazyload_book_cover lazyload-img"
src="/static/img/default.jpg" data-src="https://www.630zw.org/img/176943.jpg" alt="娱乐宗师">
</a>
<div class="book_inf">
<span class="aut">作者:猩猩崛起</span>
<span>类别:<a href="/lists/19.html" target="_blank">武侠仙侠</a></span>
<p class="int"> 小工作室的微电影导演,重生平行世界!踏上娱乐征途!
本站提示各位书友要是觉得《娱乐宗师》还不错的话请不要忘记向您QQ群和微博里的朋友推荐哦</p>
</div>
</div>
</li>

View File

@@ -1,26 +0,0 @@
<li class="lis_sh">
<em class="red_bg">1</em>
<h3 class="name"><a href="/pc/novel/275.html" title="捻转步舞曲[花滑]" target="_blank">捻转步舞曲[花滑]</a>
</h3>
<div class="open">
<a href="/pc/novel/275.html" title="捻转步舞曲[花滑]" target="_blank" class="book_cov">
<img class="lazyload_book_cover lazyload-img"
src="/static/img/default.jpg" data-src="https://www.630zw.org/img/176943.jpg" alt="捻转步舞曲[花滑]">
</a>
<div class="book_inf">
<span class="aut">作者梧桐树下wt</span>
<span>类别:<a href="/lists/19.html" target="_blank">武侠仙侠</a></span>
<p class="int"> 【本文将会于2023年9月30日星期六入V谢谢支持】 【求投票——《成长·逆袭》主题征文——作品投票——鱼跃龙门后来居上】
【每5K营养液加更一章】 作为刚升组没多久,在华国内难得可以跳跃演绎两手抓的男子单人花滑选手,郁辰被队里的教练们给予极大的厚望。
并且整个教练团也在想尽各种方法教导这位,冰上冰下两个样子,经常会躲起来不见人的闷葫芦。 “到底有什么办法,能让那家伙在冰下的时候,有上冰那会百分之一的灵气啊!”
只有郁辰他本人知道——他无论什么时候,都爱惨了艺术与冰面结合起来的样子。 ——只是台下之后,不会表达而已。
一切的变动,从他没忍住在莫斯科赛后偷瞒着教练,去看了一场芭蕾舞舞台剧之后。 追着一见钟情的男孩来到异国,并且努力学了中文的佐切卡:你好,郁!能我你拥抱?
沉思了好久,才理清楚他语法顺序的郁辰:你学顺了中文再和我说话吧。 佐切卡(惊喜):那就是可以了!
于是某位男单运动员就被纤细高挑练跳舞的熊抱住了一个下午,跑都跑不掉。 来自莫斯科的芭蕾舞者X略显自闭的花滑选手 1、故事里面所有人物故事经历都没有原型。
2、作者对于花滑的认知还没有到完全专业水平但是所有技术动作描写比赛规则描述都有资料支持。
3、如果有技术问题需要讨论可以随时留评我看到后会回复的。看了每章词汇解释还是不懂的话也可以留评我会想办法换一种解释试试看的作者是真想教会你们滑冰系列
4、最重要一点——无论怎么样的情感下都请不要轻易怀疑运动员对该项目的热爱。 5、停在4好像不太好所以写了个5
本站提示:各位书友要是觉得《捻转步舞曲[花滑]》还不错的话请不要忘记向您QQ群和微博里的朋友推荐哦</p>
</div>
</div>
</li>

View File

@@ -1,12 +0,0 @@
<li>
<ul>
<li class="lb"><a href="/" target="_blank">耽美百合</a></li>
<li class="sm">
<h3><a href="/pc/novel/332.html" title="我真是一条龙" target="_blank">我真是一条龙</a></h3>
</li>
<li class="gx"><a href="/pc/chapter/1-1-1.html" title="老读者必看公告!!!"
target="_blank">老读者必看公告!!!</a></li>
<li class="zz">兔子很淡定</li>
<li class="sj">1天前</li>
</ul>
</li>

View File

@@ -1,32 +0,0 @@
<li>
<a href="/pc/novel/334.html" target="_blank" class="book_cov" title="落魄千金美食发家日常">
<img class="lazyload_book_cover lazyload-img"
src="/static/img/default.jpg" data-src="https://www.630zw.org/img/176943.jpg" alt="落魄千金美食发家日常">
</a>
<div class="book_inf">
<h3><a href="/pc/novel/334.html" title="落魄千金美食发家日常" target="_blank">落魄千金美食发家日常</a></h3>
<p>
<span>作者:<a href="/search/%E9%B1%BC%E6%98%86%E5%AD%90.html" title="鱼昆子">鱼昆子</a></span>
<span>分类:<a href="/lists/4.html" title="男生">男生</a></span>
<span>状态:已完结</span>
<span>总字数43.80万字+</span>
</p>
<p class="tags">
<i>标签:</i>
<i></i>
</p>
<p><b>最近更新:</b><a href="/pc/chapter/1-1-1.html" title="219 桃花酿" target="_blank">219 桃花酿</a>
</p>
<p class="int"> 正文已完结,福利番外待续! 预收《癫疯人生有多爽你知道吗》《当家主母的咸鱼美食日常》戳专栏求收藏。 ——————— 温仲夏身为百万粉丝美食博主,一朝穿越。
好消息,穿成尚书千金。 坏消息,父兄获罪被贬到千里之外。 身边只有一个柔弱的嫂嫂和年幼的小弟。 开局就是一个交不上房租,大雪天几乎要流落街头的惨境。 温仲夏来不及哭,撸起袖子就是干。
红烧肉火锅烧烤爆米花卷饼卤肉奶茶小蛋糕…… 她就不信这些东京人都不爱吃。 不成的话,她还有麻辣烫烤鸭炸鸡酸辣粉炸酱面汤圆大馄饨…… 一不小心,落魄千金混成东京知名女掌柜。 …… 小剧场:
一众贵女听闻温仲夏当街叫卖吃食后,纷纷对她这种抛头露面的行为狠狠批判。 几天后,她们却在温仲夏的食店门口不期而遇。 “你怎么来了,不会是来买蛋挞的吧?” “难道你也是?”
“我可不是,我还要买奶油蛋糕呢。” 说好的不齿与之为伍呢? 这时店内传来吆喝:“数量有限,先到先得。” 贵女们忙不迭地往里冲。 “我先来的!” ①本文主线是美食和日常。
②背景主要参考宋朝,不严谨的地方请见谅。
本站提示各位书友要是觉得《落魄千金美食发家日常》还不错的话请不要忘记向您QQ群和微博里的朋友推荐哦</p>
</div>
<div class="right">
<span>更新时间2025-03-20 23:59</span>
<a href="/pc/novel/334.html" target="_blank" class="read_btn btn">立即阅读</a>
</div>
</li>

View File

@@ -1,7 +0,0 @@
<li>
<a href="/pc/novel/334.html" title="落魄千金美食发家日常" target="_blank" class="book_cov">
<img class="lazyload_lb_nv lazyload-img"
src="/static/img/default.jpg" data-src="https://www.630zw.org/img/176943.jpg"
alt="落魄千金美食发家日常">
</a>
</li>

View File

@@ -1,6 +0,0 @@
<li data-desc=" 正文已完结,福利番外待续! 预收《癫疯人生有多爽你知道吗》《当家主母的咸鱼美食日常》戳专栏求收藏。 ——————— 温仲夏身为百万粉丝美食博主,一朝穿越。 好消息,穿成尚书千金。 坏消息,父兄获罪被贬到千里之外。 身边只有一个柔弱的嫂嫂和年幼的小弟。 开局就是一个交不上房租,大雪天几乎要流落街头的惨境。 温仲夏来不及哭,撸起袖子就是干。 红烧肉火锅烧烤爆米花卷饼卤肉奶茶小蛋糕…… 她就不信这些东京人都不爱吃。 不成的话,她还有麻辣烫烤鸭炸鸡酸辣粉炸酱面汤圆大馄饨…… 一不小心,落魄千金混成东京知名女掌柜。 …… 小剧场: 一众贵女听闻温仲夏当街叫卖吃食后,纷纷对她这种抛头露面的行为狠狠批判。 几天后,她们却在温仲夏的食店门口不期而遇。 “你怎么来了,不会是来买蛋挞的吧?” “难道你也是?” “我可不是,我还要买奶油蛋糕呢。” 说好的不齿与之为伍呢? 这时店内传来吆喝:“数量有限,先到先得。” 贵女们忙不迭地往里冲。 “我先来的!” ①本文主线是美食和日常。 ②背景主要参考宋朝,不严谨的地方请见谅。
本站提示各位书友要是觉得《落魄千金美食发家日常》还不错的话请不要忘记向您QQ群和微博里的朋友推荐哦" class="on">
<s class="arr"></s>
<s class="xh">1</s>
<i>落魄千金美食发家日常</i>
</li>

View File

@@ -1,49 +0,0 @@
{extend name="basePc" /}
{block name="title"}我的书架{/block}
{block name="keywords"}我的书架{/block}
{block name="description"}我的书架{/block}
{block name="head"}
<!-- 社交媒体标签 -->
<meta property="og:title" content="{$strTitle??''}" />
<meta property="og:description" content="{$strDescription??''}" />
<meta property="og:url" content="https://{$DomainModel->d_domain}{$strBookShelfUrlTemp}" />
<meta property="og:type" content="article" />
<!-- 结构化数据 -->
<script type="application/ld+json">
{
"@context": "https://{$DomainModel->d_domain}{$strBookShelfUrlTemp}",
"@type": "article",
"headline": "我的书架",
"description": "我的书架",
"datePublished": "{:date('Y-m-d')}"
}
</script>
{block name="head-js"}{/block}
{block name="body-class"}novel_home{/block}
{block name="main"}
<div class="container">
<div class="row">
<div class="layout layout3 layout-col3 fl">
<h2 class="layout-tit">我的书架</h2>
<div class="layout layout-col3" id="shujiaContainer"></div>
</div>
</div>
</div>
</div>
{/block}
{block name="customize"}
<script>
const strNovelUrlTemp = `{site:replace code="NOVEL_INFO_URL"}`;
const strNovelChapterUrlTemp = `{site:replace code="CONTENT_INFO_URL"}`;
const strSearchUrlTemp = `{site:replace code="SEARCH_INFO_URL"}`;
// 调用展示书架功能
displayShujia();
</script>
{/block}

View File

@@ -1,49 +0,0 @@
{extend name="basePc" /}
{block name="title"}我的阅读记录{/block}
{block name="keywords"}我的阅读记录{/block}
{block name="description"}我的阅读记录{/block}
{block name="head"}
<!-- 社交媒体标签 -->
<meta property="og:title" content="{$strTitle??''}" />
<meta property="og:description" content="{$strDescription??''}" />
<meta property="og:url" content="https://{$DomainModel->d_domain}{$strBookShelfUrlTemp}" />
<meta property="og:type" content="article" />
<!-- 结构化数据 -->
<script type="application/ld+json">
{
"@context": "https://{$DomainModel->d_domain}{$strBookShelfUrlTemp}",
"@type": "article",
"headline": "{$strTitle??''}",
"description": "{$strDescription??''}",
"datePublished": "{:date('Y-m-d')}"
}
</script>
{block name="head-js"}{/block}
{block name="body-class"}novel_home{/block}
{block name="main"}
<div class="container">
<div class="row">
<div class="layout layout3 layout-col3 fl">
<h2 class="layout-tit">阅读记录</h2>
<div class="layout layout-col3" id="shujiaContainer"></div>
</div>
</div>
</div>
</div>
{/block}
{block name="customize"}
<script>
const strNovelUrlTemp = `{site:replace code="NOVEL_INFO_URL"}`;
const strNovelChapterUrlTemp = `{site:replace code="CONTENT_INFO_URL"}`;
const strSearchUrlTemp = `{site:replace code="SEARCH_INFO_URL"}`;
// 调用展示书架功能
displayHistory();
</script>
{/block}

View File

@@ -1,3 +0,0 @@
<li>
<a href="/chapter/1-1-1.html" title="01 天龙问世">01 天龙问世</a>
</li>

View File

@@ -1,12 +0,0 @@
<li class="chapter-li jsChapter">
<a href="/chapter/1-1-1.html" class="chapter-li-a"
data-chapter-id="4b2d5aab58d71">
<span class="chapter-index">01 天龙问世</span>
</a>
</li>
<li class="chapter-li jsChapter">
<a href="/chapter/1-1-1.html" class="chapter-li-a"
data-chapter-id="486ef2abee55d">
<span class="chapter-index">02 沧武的小霸王</span>
</a>
</li>

View File

@@ -1,19 +0,0 @@
<li class="li2">
<a href="/novel/332.html">
<div class="leftImage2 "><img class="lazyload-img"
src="/static/img/default.jpg" data-src="https://www.630zw.org/img/176943.jpg"></div>
<div class="rightBlock">
<span class="rightBlock_title">我真是一条龙</span>
<span class="rightBlock_name">耽美百合</span>
<span class="rightBlock_con rightBlock_con2">
<span class="con">
<span class="spanLi">老读者必看公告!!!</span>
</span>
<span class="spanLi Time">4天前</span>
<span class="rightJustTime"
onclick="javascript:window.location.href='/book/12538/4b2d5aab58d71.html';return false;">继续阅读</span>
</span>
</div>
</a>
<span class="deleteBlock" ajax-get="" url="/user/bookshelf/del/id/3.html"></span>
</li>

View File

@@ -2,7 +2,7 @@
<div class="novel-item">
<div class="top">
<img class="pre-img lozad" data-encrypted="false"
src="/assets/images/loading_img_bg_default.jpg"
src="/static/img/default.jpg"
data-src="{$Novel.n_cover_path}">
{if isset($showIconStatus) && $showIconStatus == 'paixu'}
<div class="icon-status">{$key + 1}</div>

View File

@@ -2,7 +2,7 @@
<div class="block_img">
<a href='{site:nurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin"/}'>
<img class="pre-img lozad" data-encrypted="false"
src="/assets/images/loading_img_bg_default.jpg"
src="/static/img/default.jpg"
data-src="{$Novel.n_cover_path}">
{if isset($showIconStatus) && $showIconStatus}

View File

@@ -1,19 +0,0 @@
<li class="s1">
<img class="pic lazy lazyload-img" data-encrypted="false" src="/static/img/default.jpg" data-src="https://www.630zw.org/img/176943.jpg"
alt="我真是一条龙" />
<a class="tit" href="/novel/332.html">我真是一条龙</a>
<p class="intro">
我的父亲告诉我,在我出生那一年,天上金光闪耀,隐隐约约中,好像能看到云朵里有条龙在盘旋,紧接着,一道金光照入我们的村子,我便出生了……为寻答案来人间,天龙问世扰乾坤。
无情无义闹天下,千军万马赴黄泉。
本站提示各位书友要是觉得《我真是一条龙》还不错的话请不要忘记向您QQ群和微博里的朋友推荐哦
</p>
<p class="info">
<span>
<aria>作者:</aria>兔子很淡定
</span>
<em class="type">耽美百合</em>
<!-- <em class="finish">已完结</em> -->
<em class="serial">已完结</em>
</p>
</li>

View File

@@ -1,5 +0,0 @@
<li class="s2">
<h5 class="tit">
<a href="/novel/1.html">我真是一条龙</a>
</h5> <i class="num"><em>{$key+=1}</em></i>
</li>

View File

@@ -1,10 +0,0 @@
<li>
<a href="/novel/1.html">
<img class="lazy lazyload-img" data-encrypted="false" src="/static/img/default.jpg"
data-src="https://www.630zw.org/img/176943.jpg" alt="落魄千金美食发家日常" />
<span>落魄千金美食发家日常</span>
<em>
<aria>作者:</aria>鱼昆子
</em>
</a>
</li>

View File

@@ -0,0 +1,294 @@
对于一个小说站点(如你提到的包含首页、分类列表、排行榜、男生/女生频道、详情页面、章节页面、目录页面等),配置 Sitemap 时需要根据页面类型的重要性和 SEO 目标选择性地包含 URL并合理组织以优化搜索引擎抓取和索引。以下是针对小说站点特点的 Sitemap 配置建议,包括哪些页面应该包含、如何处理大量 URL以及相关的最佳实践。
---
### 一、小说站点页面类型分析
根据你提供的信息,小说站点的页面类型可以分为以下几类,每类页面的 SEO 价值和是否需要包含在 Sitemap 中有所不同:
| 页面类型 | 描述 | SEO 价值 | 是否包含在 Sitemap |
|------------------|----------------------------------------------------------------------|---------------------------------------|--------------------|
| **首页** | 网站主入口,通常包含推荐小说、导航等。 | 高(核心流量入口) | 是 |
| **分类列表** | 按题材、类型(如玄幻、言情)展示小说列表,可能有多页(如 `page=2`)。| 高(引导用户到具体小说) | 是(仅包含主页面) |
| **排行榜** | 热门小说排行,可能按日、周、月或类型(如男生/女生)排序。 | 中到高(吸引点击,动态更新) | 是(视情况精选) |
| **男生/女生频道**| 针对不同用户群的分类页面(如男生玄幻、女生穿越)。 | 高(细分用户需求) | 是 |
| **详情页面** | 小说详情页,包含简介、封面、目录链接等。 | 高(核心转化页面) | 是 |
| **章节页面** | 小说具体章节内容,通常数量庞大。 | 中到低内容分散SEO 价值有限) | 视情况(可选) |
| **目录页面** | 小说章节列表,汇总所有章节链接。 | 中便于用户导航SEO 价值中等) | 是 |
---
### 二、Sitemap 配置策略
#### 1. 哪些 URL 应该包含?
基于小说站点的特点,建议优先包含以下页面:
- **首页**
- 包含站点的唯一首页 URL`https://www.example.com/`)。
- 设置高优先级(如 `<priority>1.0</priority>`)和频繁更新(如 `<changefreq>daily</changefreq>`)。
- **分类列表(主页面)**
- 包含每个分类的主页面(如 `https://www.example.com/category/xuanhuan`)。
- 排除分页 URL`https://www.example.com/category/xuanhuan?page=2`),因为分页内容重复且 SEO 价值低。
- 示例:玄幻、言情、历史等分类页面。
- **男生/女生频道**
- 包含频道主页(如 `https://www.example.com/male``https://www.example.com/female`)。
- 如果频道下有子分类(如男生玄幻、女生穿越),也应包含。
- **排行榜(精选)**
- 包含主要排行榜页面(如 `https://www.example.com/rank/hot``https://www.example.com/rank/male`)。
- 如果排行榜页面频繁更新(如每日排行),可设置 `<changefreq>daily</changefreq>`
- 排除次要或动态参数页面(如 `?sort=week`),避免重复内容。
- **详情页面**
- 包含所有小说详情页面(如 `https://www.example.com/book/123`)。
- 这些页面是 SEO 的核心,吸引搜索流量(如用户搜索小说名)。
- 使用 `<lastmod>` 反映小说更新时间,提示搜索引擎重新抓取。
- **目录页面**
- 包含每个小说的目录页面(如 `https://www.example.com/book/123/chapters`)。
- 目录页面便于用户导航,且可能被搜索引擎索引为长尾关键词(如“小说名 章节列表”)。
- **章节页面(可选)**
- **不建议全部包含**小说章节页面数量庞大可能数十万到数百万SEO 价值较低(用户很少通过搜索直接进入具体章节)。
- **可选策略**
- 只包含最新章节(如最近 30 天的章节),吸引搜索引擎抓取更新内容。
- 只包含热门小说的前几章(如前 10 章),作为引流入口。
- 如果包含,设置较低优先级(如 `<priority>0.3</priority>`)。
#### 2. 哪些 URL 应该排除?
- **分页 URL**:如分类列表的 `?page=2`,重复内容无 SEO 价值。
- **动态参数 URL**:如 `?sort=latest``?utm_source=...`,应规范化到标准 URL。
- **不可索引页面**
- 已设置 `<meta name="robots" content="noindex">` 的页面。
-`robots.txt` 屏蔽的页面(如 `Disallow: /user/`)。
- **用户生成内容**
- 如评论页、用户个人中心、搜索结果页(`?q=keyword`)。
- **临时页面**
- 如促销活动页、测试页面。
- **错误页面**:如 404、500 页面。
---
### 三、处理大量 URL 的策略
小说站点通常有大量 URL尤其是章节页面可能超过 Sitemap 的限制50,000 条 URL 或 50MB。以下是应对方法
#### 1. 使用 Sitemap 索引文件
- 将 URL 分组到多个子 Sitemap 文件(如 `sitemap-books.xml``sitemap-chapters.xml`),每文件不超过 50,000 条 URL。
- 创建一个 Sitemap 索引文件(如 `sitemap_index.xml`)引用所有子 Sitemap。
- 示例:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://www.example.com/sitemap-main.xml</loc>
<lastmod>2025-04-21</lastmod>
</sitemap>
<sitemap>
<loc>https://www.example.com/sitemap-books.xml</loc>
<lastmod>2025-04-21</lastmod>
</sitemap>
<sitemap>
<loc>https://www.example.com/sitemap-chapters.xml</loc>
<lastmod>2025-04-21</lastmod>
</sitemap>
</sitemapindex>
```
#### 2. 分组策略
- **按页面类型分组**
- `sitemap-main.xml`:首页、分类列表、排行榜、男生/女生频道。
- `sitemap-books.xml`:小说详情页面和目录页面。
- `sitemap-chapters.xml`:章节页面(如果包含)。
- **按更新频率分组**
- 频繁更新的页面(如排行榜、最新章节)单独分组,设置 `<changefreq>daily</changefreq>`。
- **按小说分组**
- 为每部小说生成单独的 Sitemap如 `sitemap-book123.xml`),包含其详情页、目录页和部分章节页。
#### 3. 动态生成 Sitemap
- **脚本生成**
- 使用 Python、PHP 等脚本从数据库查询 URL生成 Sitemap 文件。
- 示例Python参考前文
```python
from lxml import etree
import datetime
# 模拟数据库查询
urls = [
{'loc': 'https://www.example.com/', 'lastmod': '2025-04-21', 'changefreq': 'daily', 'priority': '1.0'},
{'loc': 'https://www.example.com/book/123', 'lastmod': '2025-04-21', 'changefreq': 'weekly', 'priority': '0.8'},
{'loc': 'https://www.example.com/book/123/chapters', 'lastmod': '2025-04-21', 'changefreq': 'weekly', 'priority': '0.6'},
]
urlset = etree.Element("urlset", xmlns="http://www.sitemaps.org/schemas/sitemap/0.9")
for url in urls:
url_element = etree.SubElement(urlset, "url")
loc = etree.SubElement(url_element, "loc")
loc.text = url['loc']
lastmod = etree.SubElement(url_element, "lastmod")
lastmod.text = url['lastmod']
changefreq = etree.SubElement(url_element, "changefreq")
changefreq.text = url['changefreq']
priority = etree.SubElement(url_element, "priority")
priority.text = url['priority']
tree = etree.ElementTree(urlset)
tree.write("sitemap-main.xml", pretty_print=True, xml_declaration=True, encoding="UTF-8")
```
- **定时任务**
- 使用 cron 任务每天或每周生成 Sitemap上传到根目录。
- 示例Linux cron
```bash
0 2 * * * python3 /path/to/generate_sitemap.py
```
- **触发式更新**
- 在小说更新(如新章节发布)时,触发脚本更新相关 Sitemap。
#### 4. 伪静态 Sitemap
- 配置服务器将 `sitemap_index.xml` 等请求重定向到动态脚本,实时生成 XML 内容。
- 示例Apache + PHP参考前文
```apache
RewriteEngine On
RewriteRule ^sitemap_index\.xml$ sitemap_index.php [L]
```
---
### 四、robots.txt 配置
在 `robots.txt` 中声明 Sitemap 索引文件,使用绝对路径:
```txt
User-agent: *
Disallow: /user/
Disallow: /search/
Sitemap: https://www.example.com/sitemap_index.xml
```
- 确保不通过 `Disallow` 屏蔽 Sitemap 文件。
- 如果 Sitemap 托管在 CDN如 `https://cdn.example.com/sitemap_index.xml`),在 `robots.txt` 中使用 CDN 地址,并验证所有权。
---
### 五、SEO 优化建议
1. **优先级设置**
- 首页:`<priority>1.0</priority>`
- 分类/频道/详情页:`<priority>0.8</priority>`
- 目录页:`<priority>0.6</priority>`
- 章节页(若包含):`<priority>0.3</priority>`
2. **更新频率**
- 首页、排行榜:`<changefreq>daily</changefreq>`
- 分类/频道/详情/目录页:`<changefreq>weekly</changefreq>`
- 章节页:`<changefreq>monthly</changefreq>`(或 `never` 如果不频繁更新)
3. **规范化 URL**
- 确保只包含规范 URL如 `https://www.example.com/book/123` 而非 `http://example.com/book/123`)。
- 使用 `<link rel="canonical">` 或 Sitemap 统一规范版本。
4. **避免重复内容**
- 排除带参数的 URL如 `?sort=latest`)。
- 如果男生/女生频道与分类列表有重复内容,选择主要入口包含在 Sitemap 中。
5. **图片 Sitemap可选**
- 为小说封面图片创建图片 Sitemap优化图片搜索排名。
- 示例:
```xml
<url>
<loc>https://www.example.com/book/123</loc>
<image:image>
<image:loc>https://www.example.com/images/book123.jpg</image:loc>
<image:title>小说封面</image:title>
</image:image>
</url>
```
---
### 六、注意事项
1. **章节页面数量庞大**
- 如果每部小说有数百章节,章节页面可能占主导。建议只包含最新或热门章节,或完全排除章节页面,依靠目录页面引导爬虫。
2. **抓取预算**
- 小说站点 URL 数量多,需优化 Sitemap 避免浪费搜索引擎的抓取预算。
3. **动态更新**
- 小说站点内容更新频繁(如新章节发布),建议动态生成 Sitemap 或频繁更新。
4. **验证 Sitemap**
- 提交 `sitemap_index.xml` 到 Google Search Console、Bing Webmaster Tools检查是否被正确解析。
- 使用 GSC 的“索引覆盖率”报告,确认重要页面(如详情页)是否被索引。
---
### 七、示例 Sitemap 配置
#### 索引文件(`sitemap_index.xml`
```xml
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://www.example.com/sitemap-main.xml</loc>
<lastmod>2025-04-21</lastmod>
</sitemap>
<sitemap>
<loc>https://www.example.com/sitemap-books.xml</loc>
<lastmod>2025-04-21</lastmod>
</sitemap>
</sitemapindex>
```
#### 主 Sitemap`sitemap-main.xml`
```xml
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://www.example.com/</loc>
<lastmod>2025-04-21</lastmod>
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://www.example.com/category/xuanhuan</loc>
<lastmod>2025-04-21</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.example.com/male</loc>
<lastmod>2025-04-21</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.example.com/rank/hot</loc>
<lastmod>2025-04-21</lastmod>
<changefreq>daily</changefreq>
<priority>0.7</priority>
</url>
</urlset>
```
#### 小说 Sitemap`sitemap-books.xml`
```xml
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://www.example.com/book/123</loc>
<lastmod>2025-04-21</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.example.com/book/123/chapters</loc>
<lastmod>2025-04-21</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
</urlset>
```
---
### 八、结论
- **不需包含所有 URL**:小说站点应优先包含首页、分类列表、男生/女生频道、排行榜、详情页面和目录页面。章节页面可根据需要部分包含或完全排除。
- **精选策略**:重点包含 SEO 价值高的页面(如详情页),排除分页、动态参数、低价值页面。
- **大型站点处理**:使用 Sitemap 索引文件和子 Sitemap按页面类型分组动态生成以应对大量 URL。
- **SEO 优化**:设置合理的 `<priority>` 和 `<changefreq>`,定期更新 Sitemap验证索引效果。
如果你需要针对小说站点的具体脚本(生成 Sitemap 或伪静态配置、CMS 插件推荐,或其他细节(如图片 Sitemap、robots.txt 优化),请告诉我!

View File

@@ -0,0 +1,3 @@
User-agent: *
Disallow:
Sitemap: https://{$DomainModel->d_domain}/sitemap_index.xml

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<!-- // TODO 根据分页查询,按顺序 每页 50000个小说 -->
{novel:pagerexp page="$Request.get.page" limit="50000"
d_key="key"
d_val="Novel"
p_val="page_data" button_num="10" cache_life="86400" func="generateSearchPager" export_name="resData" /}
{foreach $resData.data as $key=>$Novel}
<url>
<loc>https://www.{$DomainModel->d_domain}{site:nclurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin" order="zheng" page="1"/}</loc>
<lastmod>{:date('Y-m-d')}</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
{/foreach}
<!-- 最多 50,000 个 <url> 条目 -->
</urlset>

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<!-- // TODO 根据分页查询,按顺序 每页 50000个小说 -->
{novel:pagerexp page="$Request.get.page" limit="50000"
d_key="key"
d_val="Novel"
p_val="page_data" button_num="10" cache_life="86400" func="generateSearchPager" export_name="resData" /}
{foreach $resData.data as $key=>$Novel}
<url>
<loc>https://www.{$DomainModel->d_domain}{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}</loc>
<lastmod>{:date('Y-m-d')}</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
{/foreach}
<!-- 最多 50,000 个 <url> 条目 -->
</urlset>

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<!-- // TODO 根据分页 查询最新 50000条章节 -->
<url>
<loc>https://www.{$DomainModel->d_domain}/chapters1</loc>
<lastmod>{:date('Y-m-d')}</lastmod>
<changefreq>weekly</changefreq>
<priority>0.6</priority>
</url>
<!-- 最多 50,000 个 <url> 条目 -->
</urlset>

View File

@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://www.{$DomainModel->d_domain}/</loc>
<lastmod>{:date('Y-m-d')}</lastmod>
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>
<!-- 分类 -->
{novel:category d_key="strCategoryPinyin" d_val="strCategoryName"}
<!-- 排序 -->
{novel:sort d_key="sort_key" d_val="strSortName"}
<!-- 状态 -->
{novel:status d_key="status_key" d_val="strStatusName"}
<url>
<loc>https://www.{$DomainModel->d_domain}{site:nflurl category="$strCategoryPinyin" order="$sort_key" status="$status_key" /}</loc>
<lastmod>{:date('Y-m-d')}</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
{/novel:status}
{/novel:sort}
{/novel:category}
<!-- 注意 所有链接不要分页,有分页的取第一页即可 -->
</urlset>

View File

@@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://www.{$DomainModel->d_domain}/sitemap-main.xml</loc>
<lastmod>{:date('Y-m-d')}</lastmod>
</sitemap>
<!-- TODO 小说总数量/50000 得出 sitemap-books一共有多少个 -->
<sitemap>
<loc>https://www.{$DomainModel->d_domain}/sitemap-books-1.xml</loc>
<lastmod>{:date('Y-m-d')}</lastmod>
</sitemap>
<sitemap>
<loc>https://www.{$DomainModel->d_domain}/sitemap-books-2.xml</loc>
<lastmod>{:date('Y-m-d')}</lastmod>
</sitemap>
<!-- TODO 小说总数量/50000 得出 sitemap-books-catalog一共有多少个,每个小说只取一个目录链接,分页不需要加入去 -->
<sitemap>
<loc>https://www.{$DomainModel->d_domain}/sitemap-books-catalog-1.xml</loc>
<lastmod>{:date('Y-m-d')}</lastmod>
</sitemap>
<sitemap>
<loc>https://www.{$DomainModel->d_domain}/sitemap-books-catalog-2.xml</loc>
<lastmod>{:date('Y-m-d')}</lastmod>
</sitemap>
<!-- ...小说章节取最新50w条 这里生成10个索引文件即可 -->
{for start="1" end="11"}
<sitemap>
<loc>https://www.{$DomainModel->d_domain}/sitemap-chapters-{$i}.xml</loc>
<lastmod>{:date('Y-m-d')}</lastmod>
</sitemap>
{/for}
</sitemapindex>

View File

@@ -1,14 +0,0 @@
<!DOCTYPE html>
<html>
<head>
{novel:info n_id="$DomainModel->n_id" n_key="arrNovel01" n_forge_id="1125940" /}
<title>{$arrNovel01.n_name} - 首页</title>
</head>
<body>
{$arrNovel01.n_description}
</body>
</html>

View File

@@ -1,108 +0,0 @@
{site:forgelist count="3" d_key="d_key" d_val="novel" cache_life="1000"}
<li>
Index: {$d_key}
Title: {$novel.n_name}
Author: {$novel.n_category}
</li>
{/site:forgelist}
<!-- {novel:ranklist count="10" sort_type="total" n_status="wanjie" n_sex="man" d_key="d_key" d_val="novel" cache_life="1000"}
<li>
Index: {$d_key}
Title: {$novel.n_name}
Author: {$novel.n_category}
</li>
{/novel:ranklist} -->
<!-- {novel:pagerexp page="1" limit="10" n_category="$Request.route.category" d_key="d_key" d_val="novel" p_val="page_data"
cache_life="1000" func="generateSearchPager" export_name="fadfads" /}
{php}var_dump($fadfads['p_data']);{/php} -->
<!-- {novel:pager page="1" limit="10" n_category="$Request.route.category" d_key="d_key" d_val="novel" p_val="page_data"
cache_life="1000" func="generateSearchPager"}
<li>
Index: {$d_key}
Title: {$novel.n_name}
Author: {$novel.n_category}
</li>
{/novel:pager}
{php}var_dump($page_data);{/php} -->
<!-- {site:grm page_code="fdasfadsf" diff="fadsfdsa" num="10" g_key="arrGrm" /}
{php}var_dump($arrGrm);{/php} -->
<!-- {chapter:info n_id="1" c_sort_num="200" c_page="0" c_key="arrChapter01" /}
{$arrChapter01.c_name} -->
<!-- {chapter:pager page="1" limit="10" n_id="$Request.get.n_id" d_key="d_key" d_val="chapter" cache_life="1000" button_num="3" sort_type="dao" p_val="page_data" func="generateChapterPager"}
<li>
Index: {$d_key}
章节名称: {$chapter.c_name}
章节序号: {$chapter.c_sort_num}
</li>
{/chapter:pager}
{php}var_dump($page_data);{/php} -->
<!-- {chapter:list count="10" n_id="$Request.get.n_id" d_key="d_key" d_val="chapter" cache_life="1000"}
<li>
Index: {$d_key}
章节名称: {$chapter.c_name}
章节序号: {$chapter.c_sort_num}
</li>
{/chapter:list} -->
<!--
{novel:category d_key="key" d_val="val"}
<li>
键: {$key} - 值: {$val}
</li>
{/novel:category} -->
<!-- {novel:sex d_key="key" d_val="val"}
<li>
键: {$key} - 值: {$val}
</li>
{/novel:sex} -->
<!--
{novel:status d_key="key" d_val="val"}
<li>
键: {$key} - 值: {$val}
</li>
{/novel:status} -->
<!--
{novel:sort d_key="key" d_val="val"}
<li>
键: {$key} - 值: {$val}
</li>
{/novel:sort} -->
<!--
{novel:info n_id="33" n_key="arrNovel01" n_forge_id="1125940" /}
{$arrNovel01.n_name} -->
<!-- {$DomainModel->d_domain} -->
<!-- {site:replace code="INDEX@INDEX@TITLE"}
-->
<!-- {novel:list count="10" n_category="$Request.route.category" d_key="d_key" d_val="novel" p_val="page_data" cache_life="1000"}
<li>
Index: {$d_key}
Title: {$novel.n_name}
Author: {$novel.n_category}
</li>
{/novel:list} -->