All Activity
- Past hour
-
๐ I blame the docs. But seriously glad itโs working now.
-
That's the reason why it didn't work on first try on my instances. ๐
-
SeoNeo 1.1.4 is live. Pushed to: PeterKnightDigital/SeoNeo (GitHub) Release: https://github.com/PeterKnightDigital/SeoNeo SeoNeo 1.1.4 โ what's new Resilience. If anything goes wrong while building the SEO meta block, the page now still renders cleanly โ visitors see normal content and styles, only the SEO tags are absent on that one page. Previously, certain failures could blank out the entire <head> and break the page layout. New seoneo log. When something does fail, SeoNeo writes a one-liner to site/assets/logs/seoneo.txt (also visible at Setup โ Logs โ seoneo in the admin) telling you which page tripped and what the error was. The log file is created on demand, so clean installs that never hit a problem won't see it appear. Better setup feedback. The auto-inject checkbox in module config now warns you if no template has seoneo_tab yet โ the most common reason new users see no SEO output on the front-end. Docs. The README's Installation section now spells out that you only need to add seoneo_tab to a template (the rest of the SEO fields are auto-inserted on save โ a 1.1.0 feature that was easy to miss), and the JSON-LD section has a worked example for adding custom Schema.org types like Recipe or Event via a hook. Backwards-compatible โ drop in over 1.1.3, hit Modules โ Refresh, you're done.
- Today
-
No hurries... it works and as I use Twig, I need to manually add it anyway. Gave it a try... and it actually does work. Either this is a new behaviour or I never tried to do it this way. That's working fine for me. Even easier than importing from another template as I did. As it turned out to be really easy I wouldn't really need the option to check a template and import the fields - I guess. The PW workflow fits me perfectly fine as I need to migrate each template after the other, in my existing project. In new projects this might be a bit different, but I can't really tell for now. Let's keep it as it is, as it's working and proven PW way of doing things. I saw that! But your provided example $wire->addHookAfter('SeoNeo::getJsonLd', function(Hoo[...] would totally fit my needs! Your docs seem to be more complete or detailed. For now everything should be doable in my project. Some hooks, some manual editing on my side and my site... could be perfect. I hope I get this done this weekend to report back. This helped a lot! I will let you know when there a road-blockers or show-stoppers.
-
Hi @wbmnfktr Thanks so much for the feedback, and I'm glad you like it ๐ I can only take credit for the planning and direction, but I put a lot of thought into it, and I'm glad to hear it's working (kinda') ok. On the specifics... That's interesting because I had a lot of issues getting it to work on the first pass. It turned out to be a non-related PHP error in my <HEAD> include was blocking the auto-inject. Once I cleared that, it worked. But I will now triple-check. Maybe hold off until I can come back to you tomorrow? I might have mistakenly assumed the issue was closed by "fixing" an unrelated event. I'm not sure I'm understanding correctly here, so apologies for starting from scratch. Yes, the module adds several fields between the SEO open and close tabs. I was thinking that manually adding these to every template would be a chore for people; the fields should be auto-added once you manually add the SEO open and close tab, and then save. LMK if I misunderstood there. Would you find it useful to pick the templates from the SeoNeo module config page (bulk add in one save), or do you prefer the standard PW workflow of opening each template individually? I'm quoting the following from the docs and AI (spot the em-dashes) ๐ What ships today (built-in): Organization, WebSite, WebPage, Article, Person, BreadcrumbList โ auto-generated as a linked @graph How to add custom types (Recipe, Event, Product, RealEstate, etc.) right now: Hook ___getJsonLd() in your site's ready.php or a custom module: $wire->addHookAfter('SeoNeo::getJsonLd', function(HookEvent $e) { $page = $e->arguments(0); if($page->template->name !== 'recipe') return; $data = $e->return; $data['@graph'][] = [ '@type' => 'Recipe', 'name' => $page->title, 'description' => $page->summary, 'prepTime' => 'PT' . $page->prep_time . 'M', 'cookTime' => 'PT' . $page->cook_time . 'M', 'image' => $page->image ? $page->image->httpUrl : '', ]; $e->return = $data; }); What's planned (future, not committed to a version): A higher-level API โ $page->seoneo->schema('Recipe', [...]) โ with per-type hookable helpers. It's in the roadmap (section J in the backlog) but deferred because the API shape isn't stable enough to ship without risking breaking changes. The hook approach above is the recommended production path for now. Also I believe my own docs are fuller in detail: https://www.peterknight.digital/docs/seoneo/1.x/structured-data-json-ld/ Anywho LMK if any of those are useful answers and feel free to DM me too. Cheers P
-
wbmnfktr started following A brand new day
-
-
szabesz started following Vox - Community discussions
-
Pretty good prompt engineering! Why have I never thought of this? :D
- 5 replies
-
- 2
-
-
-
- discussions
- forum
-
(and 1 more)
Tagged with:
-
Took the time and installed SEO Neo to one my larger and most complete side-projects, and so far I am really impressed what can be done with this out of the box. The depth and customisation feels great on the first look. Might need to dig deeper into all the settings and options, but WOW! BUT... I noticed that auto-inject didn't work. Tried that in another instance that's almost clean without any other modules or whatever. I probably missed something at some point. Got it working in both instances nonetheless. I might try it in a clean environment again, but as it is not a show-stopper for me I won't lose another thought about it. Using the $page->seoneo->render() worked everywhere, even in Twig (TemplateEngineFactory) with {{ page.seoneo.render() }}. NICE! One other thing I'm not sure about is adding SEO Neo fields to templates. The module creates quite a few fields, but there is no option to single-click/single-action add them to a template of choice. Sure, in total only a minute or two to add them manually to ONE template but on larger sites with a lot of templates... well. I helped myself, added all fields to a new template and imported that new template into existing templates. More a hack, than a workflow, but at the end fields were in their right spot. In terms of Schema/JSON+LD: what other schemas are planned or how would I add custom ones? Looked into the docs but couldn't spot a reference to custom types like recipe, book, event, real estate / or related schemas. Overall... migrating from a custom solution to SEO Neo is probably doable in a few hours with this very special project. Luckily we have way better AI support now so it might be that all the Claudias out there can assist. First impression was great. Will probably move that project over to SEO Neo this weekend.
-
๐ If I could, I would turn it off for ever, but haven`t found a way. So I use a very low gliw and 80% is white light. I found this in a local media store for under 50% of the regular price, maybe between 5 - 7 years ago.
-
@AndZyk Your Mac desktop and your real desktop are very clean ๐ฅ Re. the view, it's just a park at the back of the home office. Not quite the countryside, but nice to have some greenery.
-
Thank you. Its my office office. Would like to have a view with nature like you, but it is in city centre. At least I have a quiet workplace. My home office has a better view on nature. ๐
-
Nice. Home office or office office ?
-
All looking well used. I've been tempted to try the Razer stuff. It looks very nice, but my Razer machine, which I use for gaming, already has enough glowing lights.
-
-
The old forum format has long since outlived its usefulness, as generations have changed and a new format is needed, even one different from Reddit. Therefore, to maintain engagement, we need to come up with new ways to keep our audience on the page. By the way, the archive contains mockups of the future service from March 2026. Vox-FB.zip
- 5 replies
-
- 2
-
-
- discussions
- forum
-
(and 1 more)
Tagged with:
-
horst started following A brand new day
-
Since back in 1996 I'm a big fan and user of the smallest Cherry Keyboards, with and without NumPads. But mainly the types without NumPads, CHERRY G84-4100: But on my primary Desktop working place I use a Razer Huntsman Elite RZ03-0187 :
-
suntrop started following ProcessWire Dashboard
-
Thanks for this module. I am using it on my own site but have some issues with date fields. When I add the dateFormat option, I can only successfully display columns such as modified or created. All other date fields, such as published, still show only the timestamp. My due field type is datetime, and the date/time output is set to none. Did I miss something or why is this happening? Many thanks! $panels->add([ 'panel' => 'collection', 'size' => 'full', 'title' => 'Items', 'data' => [ 'collection' => 'template=repeater_document_items_repeater, due>=today, due<="+30 days", limit=4', 'sortable' => true, "dateFormat" => "d.m.Y", 'columns' => [ 'title' => 'Test', 'modified' => 'Modified', // This is the only one that is formated as 12.06.2026 'published' => 'Published at', // Displayed as timestamp 'due' => 'Due date', // Displayed as timestamp ], ], ]); Using latest v 1.6.0 on PW 3.0.257
-
"Claude please convert for me the processwire.com/talk IP.Board into a native ProcessWire CMS/CMF application. Make no mistakes." ๐
- 5 replies
-
- 4
-
-
-
- discussions
- forum
-
(and 1 more)
Tagged with:
-
There's only 29.2k Total Topics 247.1k Total Posts 9,598 Total Members Who wants to volunteer their AI tokens? ๐
- 5 replies
-
- discussions
- forum
-
(and 1 more)
Tagged with:
-
Peter Knight started following Vox - Community discussions
-
@maximus I was just thinking this week that ProcessWire forums should be built in ProcessWire. Both as a showcase of how flexible PW is and to demonstrate its ability as more than a regular CMS. Amazing stuff.
- 5 replies
-
- 1
-
-
- discussions
- forum
-
(and 1 more)
Tagged with:
-
PW 3.0.265 โ Core updates and AgentTools updates
AndZyk replied to ryan's topic in News & Announcements
Awesome, thank you. Yes I tried out putting my page engineer field at the end of the editor first and for this case the notification is useful. But then I switched my field to a tab and for this case the notification is a little bit redundant. ๐ Nice ๐ Thank you, right now I prefer the field visibility as tab for the page engineer field. But maybe a new field visibility setting, f.e. off-canvas or modal could help to not scroll or switch to much between the fields. That makes totally sense and you need this for long requests. Actually the animation is growing on me, I was just a little bit overwhelmed by the flying words. ๐ That is understandable. Reliability is more important than convenience. I guess it will be difficult to implement a Ajax driven page engineer field that is reliable. Ah thank you, I have not tried this out yet. I only gave page engineer an external image and this worked well. Nice to hear it already works with different file fields. -
Just Googled it Max. What do you like about it?
-
I bought an HP 975 on Black Friday โ it's the best keyboard experience ever.