<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[LibreCrawl: self-hosted website crawler for SEO audits (community package) - open-source alternative to Screaming Frog, Sitebulb, DeepCrawl, etc]]></title><description><![CDATA[<p dir="auto">I've packaged <a href="https://github.com/PhialsBasement/LibreCrawl" target="_blank" rel="noopener noreferrer nofollow ugc">LibreCrawl</a> (MIT), a self-hosted website crawler for SEO audits, as a Cloudron community app.</p>
<p dir="auto">It crawls sites from your server and shows status codes, titles, meta descriptions, headings, structured data, issues, internal and external links and a site-structure graph. Crawls are saved, reloadable and exportable (CSV, Excel, JSON, XML), and a REST API lets other tools start crawls and fetch results.</p>
<p dir="auto"><strong>Install</strong> (Cloudron 9.1 or later): from Community Apps, or add this versions URL under Community apps in your dashboard settings, or run:</p>
<pre><code>cloudron install --versions-url https://raw.githubusercontent.com/marcusquinn/cloudron-librecrawl-app/main/CloudronVersions.json --location librecrawl
</code></pre>
<p dir="auto">Sign in as <code>admin</code> with the generated password from <code>/app/data/admin-password</code> (the post-install note shows how), then change it.</p>
<p dir="auto"><strong>What the package does</strong></p>
<ul>
<li>Signed-in use only. Registration and guest access are off, and modes that skip sign-in stop the app at startup. Create accounts with <code>librecrawl-user add</code> in the app's Terminal, one per person or per site.</li>
<li>Users, settings, and crawls live in SQLite under <code>/app/data</code> and are backed up. The database is snapshotted before a new LibreCrawl version migrates it.</li>
<li>A daily task removes finished crawls older than 90 days (<code>CRAWL_RETENTION_DAYS</code> in <code>/app/data/env</code>).</li>
<li>Memory defaults to 2 GiB. On a test, a 5,000-page HTML crawl peaked at 1.16 GiB. Allow 4 GiB for several large crawls in the same hour, or for JavaScript rendering beyond small sites.</li>
<li>Chromium rendering is available but off by default. tini runs as PID 1 so Chromium's helper processes are reaped.</li>
</ul>
<p dir="auto"><strong>Please read before giving anyone an account:</strong></p>
<p dir="auto">LibreCrawl has no filter for private addresses.</p>
<p dir="auto">Anyone who can sign in can make the server request any address it can reach, including other apps on your Cloudron and your private network.</p>
<p dir="auto">Only create accounts for people and sites you trust. An upstream pull request proposes a guard; it isn't merged yet.</p>
<p dir="auto"><strong>Upstream behaviour worth knowing</strong></p>
<ul>
<li>The crawl delay only slows JavaScript crawls. HTML crawls are limited only by concurrency, plus up to five HEAD checks at a time.</li>
<li>JavaScript crawls send their own user agent (<code>jsUserAgent</code>). Set both if a firewall allowlists your crawler.</li>
<li>The page limit counts fetched pages, but results also list every image and external link that was only HEAD-checked.</li>
<li>A crawl session idle for an hour is dropped, even mid-crawl. API clients should keep polling or use the saved-crawl endpoints.</li>
</ul>
<p dir="auto">Source, docs and issues: <a href="https://github.com/marcusquinn/cloudron-librecrawl-app" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/marcusquinn/cloudron-librecrawl-app</a>.</p>
<p dir="auto">It's packaged independently of the LibreCrawl project.</p>
<p dir="auto">Feedback welcome, especially memory figures from larger or JavaScript-heavy sites.</p>
<p dir="auto"><strong>Website &amp; screenshots</strong></p>
<ul>
<li><a href="https://librecrawl.com/" target="_blank" rel="noopener noreferrer nofollow ugc">https://librecrawl.com/</a></li>
</ul>
<p dir="auto"><img src="/assets/uploads/files/1792167126742-232734c7-2409-4d68-8581-fea31aeac733-image-resized.jpeg" alt="image.jpeg" class="img-markdown  img-fluid" width="1871" height="961" /></p>
]]></description><link>https://forum.cloudron.io/topic/16139/librecrawl-self-hosted-website-crawler-for-seo-audits-community-package-open-source-alternative-to-screaming-frog-sitebulb-deepcrawl-etc</link><generator>RSS for Node</generator><lastBuildDate>Fri, 30 Oct 2026 03:19:30 GMT</lastBuildDate><atom:link href="https://forum.cloudron.io/topic/16139.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 16 Oct 2026 16:15:41 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to LibreCrawl: self-hosted website crawler for SEO audits (community package) - open-source alternative to Screaming Frog, Sitebulb, DeepCrawl, etc on Fri, 16 Oct 2026 19:41:15 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/marcusquinn" aria-label="Profile: marcusquinn">@<bdi>marcusquinn</bdi></a> nice work <img src="https://forum.cloudron.io/assets/plugins/nodebb-plugin-emoji/emoji/android/1f44d.png?v=93de12b1192" class="not-responsive emoji emoji-android emoji--+1" style="height:1.4em;width:auto;vertical-align:middle" title=":+1:" alt="👍" /></p>
]]></description><link>https://forum.cloudron.io/post/131120</link><guid isPermaLink="true">https://forum.cloudron.io/post/131120</guid><dc:creator><![CDATA[timconsidine]]></dc:creator><pubDate>Fri, 16 Oct 2026 19:41:15 GMT</pubDate></item></channel></rss>