mirror of
https://github.com/NetworkCats/rustyip.git
synced 2026-11-13 16:17:46 +00:00
feat: add noindex meta tag to IP query result pages
This commit is contained in:
@@ -34,6 +34,7 @@ pub struct AppState {
|
||||
struct IndexTemplate {
|
||||
ip: String,
|
||||
query: String,
|
||||
is_query: bool,
|
||||
site_domain: Arc<str>,
|
||||
css_version: u64,
|
||||
asn: String,
|
||||
@@ -554,9 +555,11 @@ pub async fn root(
|
||||
|
||||
let t = build_translations(locale);
|
||||
|
||||
let is_query = query.ip.is_some();
|
||||
let template = IndexTemplate {
|
||||
ip: info.ip.clone(),
|
||||
query: query.ip.unwrap_or_default(),
|
||||
is_query,
|
||||
site_domain: state.site_domain.clone(),
|
||||
css_version: static_assets::asset_version("style.css"),
|
||||
asn: format_asn(&info),
|
||||
|
||||
@@ -3,10 +3,11 @@
|
||||
{% block title %}{{ t_title }} - {{ site_domain }}{% endblock %}
|
||||
|
||||
{% block head_meta %}
|
||||
{% if is_query %}
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
{% else %}
|
||||
<meta name="description" content="{{ t_description }}">
|
||||
<link rel="canonical" href="https://{{ site_domain }}/{{ lang_tag }}">
|
||||
<meta name="theme-color" content="#007AFF" media="(prefers-color-scheme: light)">
|
||||
<meta name="theme-color" content="#0A84FF" media="(prefers-color-scheme: dark)">
|
||||
<meta property="og:title" content="{{ t_title }} - {{ site_domain }}">
|
||||
<meta property="og:description" content="{{ t_description }}">
|
||||
<meta property="og:type" content="website">
|
||||
@@ -18,6 +19,9 @@
|
||||
<link rel="alternate" hreflang="{{ l.tag() }}" href="https://{{ site_domain }}/{{ l.tag() }}">
|
||||
{% endfor %}
|
||||
<link rel="alternate" hreflang="x-default" href="https://{{ site_domain }}/">
|
||||
{% endif %}
|
||||
<meta name="theme-color" content="#007AFF" media="(prefers-color-scheme: light)">
|
||||
<meta name="theme-color" content="#0A84FF" media="(prefers-color-scheme: dark)">
|
||||
{% endblock %}
|
||||
|
||||
{% block head_preconnect %}
|
||||
|
||||
+30
-5
@@ -674,11 +674,14 @@ async fn html_contains_seo_meta_tags() {
|
||||
let app = build_test_app();
|
||||
let (status, body) = get_with_headers(
|
||||
&app,
|
||||
"/en?ip=45.77.77.77",
|
||||
vec![(
|
||||
"User-Agent",
|
||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",
|
||||
)],
|
||||
"/en",
|
||||
vec![
|
||||
(
|
||||
"User-Agent",
|
||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",
|
||||
),
|
||||
("CF-Connecting-IP", "45.77.77.77"),
|
||||
],
|
||||
)
|
||||
.await;
|
||||
assert_eq!(status, StatusCode::OK);
|
||||
@@ -692,6 +695,28 @@ async fn html_contains_seo_meta_tags() {
|
||||
assert!(body.contains("hreflang=\"en\""));
|
||||
assert!(body.contains("hreflang=\"x-default\""));
|
||||
assert!(body.contains("hreflang=\"es\""));
|
||||
assert!(!body.contains("noindex"));
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn html_query_result_has_noindex() {
|
||||
let app = build_test_app();
|
||||
let (status, body) = get_with_headers(
|
||||
&app,
|
||||
"/en?ip=45.77.77.77",
|
||||
vec![(
|
||||
"User-Agent",
|
||||
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",
|
||||
)],
|
||||
)
|
||||
.await;
|
||||
assert_eq!(status, StatusCode::OK);
|
||||
assert!(body.contains("<meta name=\"robots\" content=\"noindex, nofollow\">"));
|
||||
assert!(!body.contains("<meta name=\"description\""));
|
||||
assert!(!body.contains("<link rel=\"canonical\""));
|
||||
assert!(!body.contains("<meta property=\"og:title\""));
|
||||
assert!(!body.contains("hreflang="));
|
||||
assert!(body.contains("<meta name=\"theme-color\""));
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
|
||||
Reference in New Issue
Block a user