search engine optimization

dev
gravel 6 months ago
parent a9a40f04e1
commit 3085b78ad3
Signed by: gravel
GPG Key ID: C0538F3C906B308F

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

@ -54,6 +54,16 @@ body {
height: 100%;
}
.h2-like {
display: block;
font-size: 1.5em;
margin-top: 0.83em;
margin-bottom: 0.83em;
margin-left: 0;
margin-right: 0;
font-weight: bold;
}
#toggle-theme-switch {
display: none;
}
@ -304,6 +314,12 @@ header {
--row-color: var(--secondary-color-shaded);
}
#tbl_communities h2 {
font-size: inherit;
margin: inherit;
font-weight: inherit;
display: inherit;
}
/* Particular columns */
.td_identifier {

@ -0,0 +1,7 @@
User-agent: *
Allow: /
Allow: /about.html
Allow: /donate.html
Allow: /index.html
Allow: /instructions.html
Allow: /privacy.html

@ -55,6 +55,8 @@
exit(255);
}
$output = preg_replace("/\\t+/", "\t", $output);
file_put_contents($docpath, join("\n", $output));
}

@ -1,4 +1,5 @@
<?php
require_once '+getenv.php';
require_once 'php/assets/room-icons.php';
/**
@ -6,18 +7,18 @@
*/
$json_ld_data = array(
'@context' => 'https://www.w3.org/ns/activitystreams',
'@context' => 'https://schema.org/',
'summary' => 'Active Session Communities',
'type' => 'Collection',
'@type' => 'Collection',
'totalItems' => count($rooms),
'items' => array_map(function(CommunityRoom $room) {
$values = array(
'type' => 'Group',
'@type' => 'Group',
'name' => $room->name,
'summary' => $room->description,
'startTime' => $room->created ? date('Y-m-d\TH:i:s', intval($room->created)) : null,
'url' => $room->get_preview_url(),
'icon' => room_icon($room, '64x64')
'icon' => $SITE_CANONICAL_URL . '/' . room_icon($room, '64x64')
);
return array_filter($values, function ($value) {
return $value != null;
@ -27,6 +28,6 @@
?>
<script type="application/ld+json">
<?=json_encode($json_ld_data)?>
<?=preg_replace("\\/", "/", json_encode($json_ld_data))?>
</script>

@ -11,3 +11,5 @@
form-action 'none'; base-uri 'self';
"
>
<link rel="apple-touch-icon" href="./apple-touch-icon.png">
<meta name="robots" content="index, follow">

@ -23,12 +23,14 @@
width="64"
height="64"
data-hydrate-with="icon:src;icon_safety:data-icon-safety"
/></div><h1><a
alt="Community icon"
/></div><a
id="details-modal-community-name"
class="h2-like"
data-hydrate-with="name;preview_link:href"
title="Open preview in new tab"
href="#"
></a></h1>
></a>
</div>
<p id="details-modal-description">
<span id="details-modal-description-inner" data-hydrate-with="description"></span>
@ -72,6 +74,7 @@
title="Community join link encoded as QR code"
width="512"
height="512"
alt="Community join link encoded as QR code"
>
<div id="details-modal-qr-code-label">
Scan QR code in Session to join

@ -96,11 +96,11 @@
class="td_name-inner"
target="_blank"
title="Click here to preview '<?=$name?>'"
rel="noopener noreferrer"
rel="noopener noreferrer external nofollow"
itemprop="name"
><?=
><h2><?=
$name
?></a>
?></h2></a>
<span class="room-labels-container">
<?php foreach ($room->get_room_tags() as $tag): if (CommunityTag::is_showcased_tag($tag->text)): ?>
<span
@ -128,7 +128,7 @@
href="<?=$preview_link?>"
title="Click here to preview '<?=$name?>'"
target="_blank"
rel="noopener noreferrer nofollow"
rel="noopener noreferrer external nofollow"
>
<span class="protocol-indicator"></span>
</a>
@ -144,7 +144,7 @@
width="36"
height="41"
src="qrcode-solid.svg"
alt="Pictogram of a QR code"
alt="QR code pictogram linking to '<?=$name?>' Community QR code"
title="Click here to view the details for '<?=$name?>'"
>
</a>
@ -171,7 +171,7 @@
title="Right click and copy this link to join '<?=$name?>'."
href="<?=$join_link?>"
rel="external nofollow"
>Copy this</a>
>Copy this<span class="hidden">link to join '<?=$name?>'.</span></a>
</div>
</td>
</tr>

@ -9,7 +9,14 @@
<link rel="canonical" href="<?=$SITE_CANONICAL_URL?>/about.html">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="css/common-dark.css">
<meta name="description" content="Learn more about sessioncommunities.online, the online self-updating list of Session Communities.">
<title>About — sessioncommunities.online</title>
<meta property="og:title" content="About — sessioncommunities.online">
<meta property="og:description" content="Session Communities are public chatrooms accessible from within Session Messenger. <?php
?>This web project crawls known sources of Session Communities, and <?php
?>displays information about them as a static HTML page.">
<meta property="og:type" content="article">
<meta property="og:url" content="<?=$SITE_CANONICAL_URL?>/about.html">
</head>
<body>
<h1 id="self-updating-list-of-session-communities"><a href="./">Self-updating list of Session Communities</a></h1>

@ -17,6 +17,15 @@
<link rel="canonical" href="<?=$SITE_CANONICAL_URL?>/donate.html">
<link rel="stylesheet" href="css/common-dark.css">
<meta name="description" content="<?php
?>Support sessioncommunities.online development with donations if you have disposable income. <?php
?>We develop sessioncommunities.online to support the privacy mission.">
<meta property="og:title" content="Donate — sessioncommunities.online">
<meta property="og:description" content="<?php
?>sessioncommunities.online relies on donations for development and server costs. <?php
?>Help us redefine what it means to be sustainable and support our mission of improving the Session ecosystem!">
<meta property="og:type" content="article">
<meta property="og:url" content="<?=$SITE_CANONICAL_URL?>/donate.html">
<title>Donate — sessioncommunities.online</title>
<style>
h1 {

@ -39,12 +39,11 @@
<script type="module" src="./main.js"></script>
<link rel="modulepreload" href="js/util.js">
<link rel="help" href="./instructions.html">
<title>Self-updating list of active Session communities</title>
<title>List of active Session Communities</title>
<meta name="description" content="
Directory of Session Open Groups — public chatrooms within Session Messenger.
Copy these Communities into the Session app
and talk anonymously about Privacy, Security, or Cryptocurrency.
">
Directory of Session Communities: public groups in Session Messenger. <?php
?>Join these Communities in the Session app <?php
?>to talk anonymously about Privacy, Security, or Cryptocurrency.">
<meta name="modified" content="<?=date("Y-m-d H:i:s", $timestamp)?>">
<meta property="og:title" content="Click here for Session Communities">
<meta
@ -102,7 +101,7 @@
>Instructions</a>
</div>
</header>
<h1 id="headline">Session Communities</h1>
<h1 id="headline">List of Session Communities</h1>
<?php include "+components/issue-banner.php" ?>
@ -129,20 +128,20 @@
</span>.
</p>
<p id="disclaimer">
Communities shown are fetched automatically from
Session Communities shown on this list are fetched automatically from
<a
href="<?=$REPOSITORY_CANONICAL_URL?>#which-sources-are-crawled"
target="_blank"
>various sources</a>.
<br>
<span class="js-only">
We make an attempt to hide communities containing
We make an attempt to hide Communities containing
objectionable or illegal content, but
you should still proceed with caution.
</span>
<span class="noscript">
Proceed with caution when joining unofficial communities.
As JavaScript is disabled, no communities are filtered from the list.
As JavaScript is disabled, no Communities are filtered from the list.
</span>
</p>
<p class="noscript">

@ -3,6 +3,9 @@
$instruction_files = glob("+instructions/*.txt");
function file_language($file) { return pathinfo($file)['filename']; }
$languages = array_map('file_language', array_slice($instruction_files, 0, 10));
$language_enumeration = join(", ", $languages);
?>
<!DOCTYPE html>
<html>
@ -21,16 +24,13 @@
<?php endforeach; ?>
</style>
<meta name="description" content="
Discover how to use the sessioncommunities.online website
to help you join Session Open Groups; available in <?php
// Print languages instructions are available in.
$languages = array_map('file_language', array_slice($instruction_files, 0, 10));
echo(join(", ", $languages));
?>. In short: Use the Copy button or scan the QR code!
">
<meta property="og:title" content="How to join Session Communities">
<meta property="og:description" content="Learn how to use sessioncommunities.online to join">
<meta property="og:url" content="<?=$SITE_CANONICAL_URL?>/instructions.php">
Issues joining Session Communities?<?php
?>Read guides by sessioncommunities.online contributors, available in <?=
$language_enumeration
?>">
<meta property="og:title" content="How to — sessioncommunities.online">
<meta property="og:description" content="Learn how to use sessioncommunities.online to join Communities in Session Messenger.">
<meta property="og:url" content="<?=$SITE_CANONICAL_URL?>/instructions.html">
<meta property="og:type" content="article">
<title>Instructions — sessioncommunities.online</title>
</head>

@ -14,8 +14,13 @@
<link rel="canonical" href="<?=$SITE_CANONICAL_URL?>/privacy.html">
<title>Privacy — sessioncommunities.online</title>
<meta name="description" content="Read what data sessioncommunities.online collects">
<meta property="og:title" content="sessioncommunities.online — Privacy">
<meta name="description" content="<?php
?>This page covers the Privacy Policy of sessioncommunities.online <?php
?>and the data sessioncommunities.online collects when you browse the site. It's not a lot!">
<meta property="og:title" content="Privacy — sessioncommunities.online">
<meta property="og:description" content="Read our transparent account of what data sessioncommunities.online collects when you browse the site.">
<meta property="og:type" content="article">
<meta property="og:url" content="<?=$SITE_CANONICAL_URL?>/privacy.html">
<link rel="stylesheet" href="css/common-dark.css">
<style>
label, label a { text-decoration: underline dotted white 1px; text-underline-offset: 0.2em; }

Loading…
Cancel
Save