Repository navigation
SEO Enhancements: #361
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
SEO Enhancements: #361
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -2,5 +2,10 @@ | |
| title: "{{ replace .Name "-" " " | title }}" | ||
| date: {{ .Date }} | ||
| draft: true | ||
| # Optional: override the default social share image (Open Graph / Twitter Card). | ||
| # Place the file under static/ and reference it site-relative, e.g.: | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What does this mean? "Optional"? FOr what? For whom? Is this just a comment?
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Open Graph and Twitter Card -- these are tags that get inserted into the pages html that are supposed to help improve the appearance of the page IF it is shared via Twitter/X (Twitter Card), LinkedIn, BlueSky (Open Graph). The comments allude to being able to redefine default values - likely of little interest, I wasn't sure I wanted to delete them yet. The potential interplay with params.yml isn't clear to me and I left these here until I better understand it. |
||
| # images: ["images/my-share-image.png"] | ||
| # Optional: override the Mastodon fediverse:creator attribution for this page. | ||
| # fediverse_creator: "@interlisp@fosstodon.org" | ||
| --- | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -6,8 +6,16 @@ | |
| # Set Google Analytics to use GA4 | ||
| disableGtagForUniversalAnalytics: false | ||
|
|
||
| # First one is picked as the Twitter card image if not set on page. | ||
| # images = ["images/project-illustration.png"] | ||
| # Default social share image (Open Graph / Twitter Card). | ||
| # The first entry is used when a page does not set its own `images` front matter. | ||
| # Recommended size: 1200x630 px. Served from static/, so the path is site-relative. | ||
| images: | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I thought we were not going to support twitter anyway
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We aren't -- one of the updates is to add support for Twitter/X users that share our pages. While this may be a tails case, I thought the overhead was small. The goal is that when an Interlisp.org site is shared it that instead of just a url, you get an image, which should look like this:
There is supposed to be a way of testing -- one of the reasons I wanted to stage this, so I can give the test tools real live websites and see what really happens. |
||
| - images/og-default.png | ||
|
|
||
| # Mastodon (4.3+) attribution for shared links. Emitted as | ||
| # <meta name="fediverse:creator"> by layouts/_partials/hooks/head-end.html. | ||
| # Override per page with a `fediverse_creator` front matter value. | ||
| fediverse_creator: "@interlisp@fosstodon.org" | ||
|
|
||
| # Menu title if your navbar has a versions selector to access old versions of your site. | ||
| # This menu appears only if you have at least one [params.versions] set. | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,5 +1,6 @@ | ||
| --- | ||
| title: Interlisp Bibliography Intake Guide | ||
| description: "Not sure whether a document belongs in the Interlisp Bibliography? This guide explains the collection's scope, how to submit an item, and what to include." | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. where else could it go? Who isn't sure?
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is a description of the Intake Guide page - whose explicit purpose is to help answer those questions. The goal of the description is to help provide context for search engines that index our site. I believe this description fits in with the role of the Intake Guide. This wasn't meant as a comment for someone editing the website. |
||
| weight: 1 | ||
| type: docs | ||
| # Explicitly visible in the sidebar: the parent bibliography section's | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,4 +1,6 @@ | ||
| +++ | ||
| title = "Search Results" | ||
| description = "Search Interlisp.org to find documentation, history, software guides, and bibliography entries about Medley Interlisp and the historic Interlisp-D system." | ||
| layout = "search" | ||
| robots = "noindex" | ||
| +++ |

There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the AI policy should state something like "PRs that include either text or code that was generated by AI or LLM should state clearly and plainly at the top that they were AI generated. No PR that was AI generated should be approved by anyone without explicit accomodation for review for slop. "
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a draft PR because I'm not comfortable with the content yet - but, by pushing it and creating a draft PR I can leverage the staging site and see and kick the tires. That said, comments are welcome, it will help me focus my efforts and test my assumptions.
As far as AI policy - you're welcome to use my draft PR to poke at what it should be. But, I suspect the audience is much more limited than we need to define the actual policy.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As an aside, one of the things I try to do when using AI is have it create an implementation plan. Something I can review prior to doing any actual work, modify or ask clarifying questions. And, as I proceed with AI assisted implementation, I have it update the document with the completed work and any findings. My selfish goal is to keep enough of a record so when I put things aside for multiple weeks I can quickly reset my context -- and the AI's context.
I currently keep those local. I've wondered if it might be worthwhile adding them to the repo. For instance all the work in this PR represents one phase of a plan. There is additional work that can be done to improve SEO, but the effort vs payoff is less clear. This is all low effort, low risk work that ideally improves the site.
That would help provide more context to the work - allow others to comment or provide direction and create a history of how we've used AI (hopefully for better).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Idea: for AI work, instead of putting into the repository the "implementation plan" (or even just the sequence of input "prompts"), requiring that information to be documented in the PR might be sufficient, and avoid repo-clutter.
In any case, the PR must describe how AI was used, e.g.:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we really want to allow merging AI content to the core Medley repos? As this article notes from the experience of open source projects, the only effective AI policy is totally restrictive, as allowing any form of AI (disclosure, human review, and so on) inevitably leads to AI contributions dominating the project and fundamentally changing the nature of the system.
I also think allowing AI code in Medley is not a good fit for a history project, for the reasons I explained in issue Interlisp/medley#2612. The reason I suggest such caution is that, while a permissive policy is largely irreversible, a restrictive one has essentially no drawbacks.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@MattHeffron I think just listing the input prompts is oversimplifying the interaction. Currently, I've been experimenting with OpenCode as a tool to wrap my AI interactions, Big Pickle and Claude as models. I also have a couple plugins and one MCP server to assist the AI. One provides rules that limit what the AI can do or access, one helps clean the context and limit token usage and the MCP server uses mermaid for diagramming. This piece of work started with one simple prompt:
Followed by:
I gave those prompts to Claude. I then switched to Big Pickle and asked it:
Which yielded a few points where it pointed out issues in the plan - mostly things that already existed that Claude neglected to catch.
The resulting plan has four phases: Phase 1 (social share images, JSON-LD, meta descriptions, robots.txt), Phase 2 (content/keyword strategy), Phase 3 (technical / Core Web Vitals), and Phase 4 (monitoring).
This PR is all centered around Phase 1 - the social share is the most iffy part of this PR, is it really necessary? My social media usage is minimal so I am a poor judge. The JSON-LD and meta descriptions are important, I want to do as much as I can to make the website more usable in searching (this ties directly to my long term interest of AI assisted search) and the robots.txt is a minor cleanup issue.
What I will include in the PR once I move it out of draft is a much more verbose description of the changes. I'm fine with specifying that this work was greatly assisted/driven by AI. I also know that in the end, the responsibility for the code falls on my shoulders.