<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl" media="all"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
<title>Roastidio.us Tagged with web</title>
<link>https://roastidio.us/tag/2691</link>
<atom:link href="https://roastidio.us/tagged_with/web" rel="self" type="application/rss+xml"></atom:link>
<description>Roastidio.us Tagged with web</description>
<item>
<title>Mastodon 5</title>
<link>https://mjtsai.com/blog/2026/10/23/mastodon-5/</link>
<guid isPermaLink="false">a77jPblI9GaUfk5HgvyK3c8M9QKVkes2qeUCbg==</guid>
<pubDate>Sat, 24 Oct 2026 11:09:47 +0000</pubDate>
<description>Imani Joy: We’re moving away from the embedded composer and adopting a pop-out composer with new controls for visibility and other post settings. Navigation is simplified and organised in a more intuitive way and create space for future new features. […] In your feeds, the posts themselves have been rebuilt from the ground up, giving […]</description>
<content:encoded>&lt;p&gt;&lt;a href=&quot;https://blog.joinmastodon.org/2026/10/5.0-a-closer-look/&quot;&gt;Imani Joy&lt;/a&gt;:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;We’re moving away from the embedded composer and adopting a pop-out composer with new controls for visibility and other post settings. Navigation is simplified and organised in a more intuitive way and create space for future new features.&lt;/p&gt;&lt;p&gt;[…]&lt;/p&gt;&lt;p&gt;In your feeds, the posts themselves have been rebuilt from the ground up, giving a fresh look to the places we all spend the most time. We’re also excited to roll out a few new colour themes, which took a truly monumental effort from our engineering team since the start of the year to tokenise our design system.&lt;/p&gt;&lt;p&gt;[…]&lt;/p&gt;&lt;p&gt;The new design includes many small affordances, such as hiding a user’s boosts directly from the post menu, following and unfollowing hashtags right from the post, and hiding your own posts and boosts in your home feed.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Via &lt;a href=&quot;https://mastodon.social/@lapcatsoftware/117473338574281068&quot;&gt;Jeff Johnson&lt;/a&gt;:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Incredibly, Mastodon’s own announcement shows the massive amount of wasted space in the new UI, and they’re fine with it!&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://macaw.social/@mergesort/117474893330136471&quot;&gt;Joe Fabisevich&lt;/a&gt;:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;The Mastodon 5.0 design looks more Tumblr than Twitter, and I really dig it! Nice to see them take an approach to social media that is more differentiated than just “it’s tweeting but federated”.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;To me it looks &lt;em&gt;more&lt;/em&gt; like Twitter than before. Stars are now hearts. The layout is basically the same down to the empty right column where Twitter’s algorithmic features would be.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://mastodon.online/@octothorpe/117473597811963483&quot;&gt;CM Harrington&lt;/a&gt;:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;[The] toot button (the one that makes the toot window appear in the first place) is at the bottom of a list of everything else, including all your saved/followed hashtags. &lt;/p&gt;&lt;p&gt;It’s all such a mess. From what I can see (limited) they’re ‘just trying things’ that other sites have done — but without a reason or goal — so it’s all just a mash of disparate concepts.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;The new composer slides up on top of the bottom post/message, so I can’t see what I’m replying to.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://birchtree.me/blog/why-does-this-chart-just-go-down/&quot;&gt;Matt Birchler&lt;/a&gt;:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;There’s some interesting data here, but at a high level, you see a social network that gained over 2 million new active users in the 31 days after Musk closed on buying Twitter. A lot of those users bounced and we dropped to about 1.1 million active users by the following summer, when we saw a second spike as Twitter started to require logins to see anything and that rate limits were being applied. Since then, we’ve seen a slow but steady decline in number of people using Mastodon.&lt;/p&gt;&lt;p&gt;[…]&lt;/p&gt;&lt;p&gt;As a fan of Mastodon, these numbers are hard to look at. Not because I think a social network must have hundreds of millions of users to be valuable, but because it paints a picture where many people have tried Mastodon, but almost none of them stick around. Also, while infinite growth isn’t a requirement, constant decline isn’t what you want to see in a social network either.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://lapcatsoftware.com/articles/2026/10/7.html&quot;&gt;Jeff Johnson&lt;/a&gt;:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;To be honest, I’m not sure I want Mastodon to grow. I actually never wanted Twitter to grow. I originally joined Twitter in 2008 for a developer conference (C4 in Chicago) to network with other software developers. As far as I’m concerned, Twitter was ruined by the influx of celebrities and celebrity worshippers. Thankfully the celebrities have mostly ignored Mastodon. A crucial difference between the two social networks is that Twitter &lt;em&gt;needed&lt;/em&gt; masses of people to join, because Twitter was a publicly-traded, for-profit corporation, financed by advertising. The goal of Twitter, like other such social networks—Facebook, Instagram, Threads, TikTok—was to maximize attention and thus eyeballs on ads.&lt;/p&gt;&lt;p&gt;[…]&lt;/p&gt;&lt;p&gt;This raises an important question: should you give your attention to social media? Is social media use healthy? […] In other words, Mastodon respects its users, doesn’t intend to waste their time. If Mastodon users decide to leave, I say good for them!&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://daringfireball.net/2026/10/the_iphone_duo&quot;&gt;John Gruber&lt;/a&gt;:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Just after writing the preceding paragraph, I took a break to pick up some sandwiches for lunch. Get out of the house, enjoy at least a few minutes of a beautiful autumn afternoon, and stretch my legs. Waiting for the sandwiches to be prepared at the bagel joint, I took the Duo out of my pocket and checked NetNewsWire. First article up was a good one. Started reading. Screen’s too small. Do I want to open the Duo? Sandwiches aren’t going to take long. I clicked the side button to sleep the Duo and put it back into my jeans pocket (where it sank like the brick that it is). I spent the rest of the wait alone with my thoughts, pondering how to finish this review.&lt;/p&gt;&lt;p&gt;Apple isn’t going to start an ad campaign with a slogan like “So cumbersome you’ll keep it in your pocket”, but that’s part of my experience.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;That’s kind of how I feel about Mastodon. It works OK, at least for the Mac/iOS community, without being very addictive. I wish the discovery and search were better, but that’s sort of antithetical to the federated model.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://v.cx/2025/04/mastodon-exit-interview&quot;&gt;Rob Shearer&lt;/a&gt;:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Mastodon isn’t, and won’t ever be, a good platform for “asynchronous ephemeral notifications of any kind”. I’d also argue (more controversially) that &lt;a href=&quot;https://bsky.app/profile/r.v.cx/post/3kldku4rh2s2k&quot;&gt;it’s simply not good infrastructure for social networking of any kind&lt;/a&gt;. There are lots of interesting people using Mastodon, and I’m sure it will live on as a good-enough space for certain niche groups. But there is no question that it will never offer the fun of early Twitter, let alone the vibrancy of Twitter during its growth phase. I’ve long since dropped Mastodon from my home screen, and &lt;a href=&quot;https://bsky.app/profile/r.v.cx&quot;&gt;have switched to Bluesky&lt;/a&gt; for text-centric social media.&lt;/p&gt;&lt;p&gt;[…]&lt;/p&gt;&lt;p&gt;I’m not saying federation “won’t” work or “can’t” work. Merely that in 2025, nine years after deployment, federation does not work for the Mastodon use case. […] Crucially, the posts did not exist even if I visited the profile page of the account: even after weeks of daily posts, the profile page displayed by mastodon.social claimed the account had never posted, and the posts would only begin appearing after someone on mastodon.social began following the account.&lt;/p&gt;&lt;p&gt;[…]&lt;/p&gt;&lt;p&gt;When you “private mention” someone, only you and they can see the post. And they can reply with a “private mention” of their own. But if anyone in that “private” thread accidentally mentions any other Mastodon account by name, that is itself considered a “private mention”, and that person is invited into the thread. It is an absolutely insane UI design that makes it &lt;em&gt;extremely&lt;/em&gt; easy to share private conversations with &lt;em&gt;exactly&lt;/em&gt; the people you don’t want reading them.&lt;/p&gt;&lt;p&gt;[…]&lt;/p&gt;&lt;p&gt;The problem that did manifest is that all of this moderation is entirely opaque to users. If you explicitly follow a particular account, you may not see posts from that account because its instance doesn’t like its content, because your instance doesn’t like its content, or simply because one of the two instances doesn’t like the other.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;a href=&quot;http://scripting.com/2026/10/12.html#a221526&quot;&gt;Dave Winer&lt;/a&gt;:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;The only way for the others to compete with Twitter is to start innovating. Get rid of the limits. The funny thing is Twitter, the dominant leader, is moving forward and getting rid of character limits, and introducing styles and links. They’re acting like the little guy while the others, Bluesky, Mastodon, Threads, aren’t doing anything to be more useful. That whole market is stuck in 2006 and the myth that 140 chars somehow was magic. It wasn’t. It killed the web as a writer’s platform.&lt;/p&gt;&lt;p&gt;[…]&lt;/p&gt;&lt;p&gt;Inbound and outbound RSS 2.0, is the way to go. And Markdown is the way you do &lt;a href=&quot;https://textcasting.org/&quot;&gt;text&lt;/a&gt;. This is what matters, you all are making something that’s really simple so unbearably complicated.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;My first choice would be to see more people blogging on their own sites. But having longer and richer posts on Mastodon would be preferable to many of the alternatives. I still wish it supported RSS for my timeline and replies.&lt;/p&gt;&lt;p&gt;Previously:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://mjtsai.com/blog/2026/10/12/instagram-charging-for-links/&quot;&gt;Instagram Charging for Links&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://mjtsai.com/blog/2023/06/29/why-has-mastodon-adoption-stalled/&quot;&gt;Why Has Mastodon Adoption Stalled?&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://mjtsai.com/blog/2023/02/16/choosing-and-switching-mastodon-instances/&quot;&gt;Choosing and Switching Mastodon Instances&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</content:encoded>
</item>
<item>
<title>Putting this blog on ATProto with standard.site | Redowan&#39;s Reflections</title>
<link>https://rednafi.com/misc/standard-site/</link>
<enclosure type="image/jpeg" length="0" url="https://blob.rednafi.com/home/cover-39e2ac8de020.png"></enclosure>
<guid isPermaLink="false">Y-iJYly5m90xzLweJdXOX2VxWRPIIBoZmD-_OA==</guid>
<pubDate>Sat, 24 Oct 2026 03:23:10 +0000</pubDate>
<description>Mirroring a static Hugo blog onto ATProto with standard.site and Sequoia, plus the GitHub Actions wiring that republishes the records on every push without any manual steps.</description>
<content:encoded>&lt;p&gt;I put this blog on &lt;a href=&quot;https://standard.site&quot;&gt;standard.site&lt;/a&gt;. Every post now also lives as a record on &lt;a href=&quot;https://atproto.com&quot;&gt;ATProto&lt;/a&gt; (the
protocol behind Bluesky), and new ones publish themselves whenever I &lt;a href=&quot;https://github.com/rednafi/com.rednafi&quot;&gt;push to main&lt;/a&gt;.&lt;/p&gt;&lt;h2&gt;What it is &lt;span&gt;#&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;standard.site is a set of shared &lt;a href=&quot;https://atproto.com/specs/lexicon&quot;&gt;ATProto lexicons&lt;/a&gt;. The two that matter here are
&lt;code&gt;site.standard.publication&lt;/code&gt; and &lt;code&gt;site.standard.document&lt;/code&gt;. The publication record describes
the blog: name, URL, icon. Each post becomes a document record that lives in my own &lt;a href=&quot;https://atproto.com/guides/data-repos&quot;&gt;data
repository&lt;/a&gt; on a &lt;a href=&quot;https://atproto.com/guides/glossary#pds-personal-data-server&quot;&gt;PDS&lt;/a&gt; and points back at the publication. To prove the records are actually
mine, there’s a &lt;a href=&quot;https://rednafi.com/.well-known/site.standard.publication&quot;&gt;/.well-known/site.standard.publication&lt;/a&gt; file on my domain and a &lt;a href=&quot;https://github.com/rednafi/com.rednafi/blob/main/layouts/partials/head.html&quot;&gt;link-rel
tag&lt;/a&gt; in every post’s HTML pointing at the matching record. The two ends point at each other,
with no central registry in between.&lt;/p&gt;&lt;div&gt;sequenceDiagram
participant R as Reader
participant S as rednafi.com
participant P as PDS
R-&amp;gt;&amp;gt;S: GET /zephyr/carry-the-pager/
S--&amp;gt;&amp;gt;R: HTML + a site.standard.document link tag
R-&amp;gt;&amp;gt;P: resolve that document record
P--&amp;gt;&amp;gt;R: site = publication URI, path = /zephyr/carry-the-pager/
R-&amp;gt;&amp;gt;S: GET /.well-known/site.standard.publication
S--&amp;gt;&amp;gt;R: the same publication URI
Note over R: URIs match, so it&amp;#39;s provably rednafi.com&amp;#39;s&lt;/div&gt;&lt;h2&gt;Why bother &lt;span&gt;#&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;Mostly the previews. Share one of my posts on Bluesky and the link turns into a card with
the title, description, and image instead of a bare URL. That works because the post is a
real record the network can read. Bluesky &lt;a href=&quot;https://atproto.com/blog/standard-site-bluesky-timeline&quot;&gt;shows richer previews&lt;/a&gt; for standard.site links.&lt;/p&gt;&lt;p&gt;It goes past Bluesky, though. The records sit in my own PDS, so any reader can pick them up
on its own. &lt;a href=&quot;https://docs.surf&quot;&gt;docs.surf&lt;/a&gt; already lists my posts, and a search on &lt;a href=&quot;https://pckt.blog/read?search=rednafi&quot;&gt;pckt&lt;/a&gt; turns them up too:&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://blob.rednafi.com/misc/standard-site/image-03-d67bfdc6d73e.png&quot; alt=&quot;Searching pckt for rednafi lists the posts, the pager among them&quot; title=&quot;&quot;/&gt;&lt;/p&gt;&lt;p&gt;It’s cheap &lt;a href=&quot;https://indieweb.org/POSSE&quot;&gt;POSSE&lt;/a&gt; on top of that: rednafi.com stays the canonical copy while a copy
syndicates out into the &lt;a href=&quot;https://atproto.com/blog/indexing-standard-site&quot;&gt;ATmosphere&lt;/a&gt;.&lt;/p&gt;&lt;h2&gt;Setting it up with Sequoia &lt;span&gt;#&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;I didn’t hand-roll any of the ATProto plumbing. &lt;a href=&quot;https://sequoia.pub&quot;&gt;Sequoia&lt;/a&gt; is a CLI by Steve Simkins that
does the whole thing for static sites. It doesn’t much care what built yours (Hugo, Astro,
Eleventy) as long as it’s Markdown. If you want to put your own blog on standard.site, it
goes roughly like this.&lt;/p&gt;&lt;p&gt;First, you need an ATProto identity, and a Bluesky account is the easy way to get one. The
records live in your own PDS. Ownership is checked against a domain, so set your site’s
domain as your handle (mine is &lt;code&gt;rednafi.com&lt;/code&gt;) and mint an app password for the CLI.&lt;/p&gt;&lt;p&gt;Then run &lt;code&gt;sequoia init&lt;/code&gt; in the repo. It authenticates against your PDS, creates a
&lt;code&gt;site.standard.publication&lt;/code&gt; record describing the blog (name, URL, icon), and scaffolds a
&lt;code&gt;sequoia.json&lt;/code&gt;. That config is small: it points at your content directory and maps the
frontmatter fields it reads, like the publish date and the slug.&lt;/p&gt;&lt;p&gt;That &lt;code&gt;publicationUri&lt;/code&gt; is the &lt;code&gt;at://&lt;/code&gt; address of the publication record &lt;code&gt;init&lt;/code&gt; just made. The
same URI also lands in &lt;code&gt;static/.well-known/site.standard.publication&lt;/code&gt;, so the domain and the
record name each other and the ownership check holds.&lt;/p&gt;&lt;p&gt;Each post’s HTML also needs a &lt;code&gt;&amp;lt;link rel=&amp;quot;site.standard.document&amp;quot;&amp;gt;&lt;/code&gt; pointing at that post’s
record. &lt;code&gt;sequoia inject&lt;/code&gt; can patch the tags into your built HTML; I emit them from my Hugo
&lt;code&gt;head&lt;/code&gt; partial instead.&lt;/p&gt;&lt;p&gt;With that wired up, &lt;code&gt;sequoia publish&lt;/code&gt; walks the content, creates a &lt;code&gt;site.standard.document&lt;/code&gt;
record per post, and writes the resulting &lt;code&gt;atUri&lt;/code&gt; back into each post’s frontmatter. State
lives in &lt;code&gt;.sequoia-state.json&lt;/code&gt;, so reruns only touch what actually changed.&lt;/p&gt;&lt;h2&gt;Making it hands-free &lt;span&gt;#&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;I didn’t want to run &lt;code&gt;sequoia publish&lt;/code&gt; by hand, so it happens in &lt;a href=&quot;https://github.com/rednafi/com.rednafi/blob/main/.github/workflows/ci.yml&quot;&gt;CI&lt;/a&gt;. The job does a few
things before the Hugo build:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;checks that every post has the same frontmatter keys in the same order&lt;/li&gt;&lt;li&gt;sets &lt;code&gt;slug&lt;/code&gt; and &lt;code&gt;atprotoPath&lt;/code&gt; from the filename&lt;/li&gt;&lt;li&gt;stops the build if a post has extra fields, missing fields, or a wrong path&lt;/li&gt;&lt;li&gt;copies the posts to a temporary Sequoia directory and adds the shared cover there&lt;/li&gt;&lt;li&gt;asks Sequoia to publish only posts whose content changed&lt;/li&gt;&lt;li&gt;writes Sequoia’s returned &lt;code&gt;atUri&lt;/code&gt; values and &lt;code&gt;.sequoia-state.json&lt;/code&gt; back&lt;/li&gt;&lt;li&gt;commits only those generated metadata changes with &lt;code&gt;[skip ci]&lt;/code&gt;&lt;/li&gt;&lt;li&gt;builds and deploys the Hugo site&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;My routine didn’t change: write Markdown and push to &lt;code&gt;main&lt;/code&gt;. CI fills in the &lt;code&gt;atUri&lt;/code&gt;,
commits it back, and lets the deploy continue. This post turned into a
&lt;code&gt;site.standard.document&lt;/code&gt; the moment the deploy ran.&lt;/p&gt;&lt;h2&gt;Seeing it work &lt;span&gt;#&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;The previews are what I actually wanted. The card is just the record rendered, so I can put
a live, clickable one right here instead of a screenshot:&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;img src=&quot;https://blob.rednafi.com/home/cover-39e2ac8de020.png&quot; alt=&quot;&quot; title=&quot;&quot;/&gt;&lt;/div&gt;&lt;div&gt;&lt;a href=&quot;https://rednafi.com/zephyr/carry-the-pager/&quot;&gt;If you won&amp;#39;t carry the pager, maybe don&amp;#39;t push to mainline&lt;/a&gt;&lt;p&gt;Drive-by AI changes break the shared model a team builds around its code, and the ICs end up cleaning up the mess. Why pushing to mainline should come with the pager.&lt;/p&gt;&lt;p&gt;May 30, 2026&lt;span&gt;·&lt;/span&gt;8m read&lt;/p&gt;&lt;div&gt;&lt;img src=&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAKRElEQVR42tVb+VNUVxZ++cHJ/ANjuWFcSNNNN4syqHFBBHoTulkUFVCjElFQwSVBFhWMLdAbyCZD1JhJNO41qSh0o6iDipgay1GiY1V0TKyJYxA1Ws5Ek0o4ud/Drpbl9aNJQ+BWnXqv77v33O87595zz30PuL4q46eah0rCLcE+EUXzpCpztq/G0uSrsb6A4B51eCYJM04arzIP5QZ68daWvS4JN82Qqa0GP11pw4Q5lQ+CE3a1TUveTzNTD1NoGpNVhyC45+vwjLUhtPWLKj0nZ32hY0xo/h8HDDFZmOUNX7Ulx19f1hycuJsROErq947T7Jxaitxk6ySo61KPtujD+h4j6PCPLm+Wqay50tDCMb8bsXERRaPZdLNOiNv5MGTFIVJnnnCCzq1loGvcEvRx9NcwXSErDhN0yzSWYozVb8SCglKGyJSmjIDYyvszU4+QNrum3QsOUp6Ql2ShG2NgLJnSkhEUVD2kT8lJQgukisiSU28t3UeajbzHAKhPBWNgLIwpj9xRL1EVSPuGnMoYExBT8V1Y+t/c8JhnPYqxgUHGsHiUnFRlWhM0r/onBAIRr/W5N4EBWIDJU+SyghP2kDarplfBQ5t9glQbj7OrZ0gCA3QFJ+wmmdK48beRizCt4cll944c+iUV1FP1iRsUm2cnrRt9NVknSMOMAx2uSEojzKt7RY5lGdGYCr0lB4HnrEeu0vfPfqTMD5rwu8fkNu39gvbVf0W6zbUuSQIjsLrnufACCVvMLZjvQuSg3CnCYKNY/4zKC6RmoF+ph3cE++DZwbO36Ktvn1BSYT0IC05XYARWabhV0iNycnn+H+SzrWcc0bIrMYCuobn5Nkp4v13m5NkAQohoF8+B7ALDKUGS0KPfbKOFjJyY15EZASswA7v41FSZ07HndEuOyfytNnqnyE7LC22UaqqjlcY6Sim0k+GjJopnpHsSTJaYztDZq/fgWeYFwfUr4LmOeCIyP2fXWprKMAO764Q51DgqIKb8ATZW7D2dlSVts9MKRi6nqoFqLv6bbn7zkK7faaUL1/5DT//3gqo/u0pz82pFSRYduEKtT57THttNeArtexXAolnfT8/copU7zpGSTVVgBwfhxFllKUZqBO91VjaHAQe5gr820cOnP1Dn8uLHn6nw4yZKYW1iEBiEwcHqCCK4d0FOfPtBZG64do/WVzWS+mVaJ1OZirs/v4UYvAJjKx93NyDALtlup/Tierr73VMSKs23H1CauY4WGewiwEWmn3Dw6WJ4rGdeV27778DYisfwYndrLxengu7WHoJKcoGdSg7+g1yVn39po/c/bKRlrG2kh7MYEJm7tQ5Xl5kOOEiVppwO5HDAVOhLb2gyu197+k21jKCNPqr5ksRK6aHLjKANRvEoubU7G+n6149oXVWjIElgx7HNT7fjOg7gzkQ6omh6cOKeNqE8U8fAgiDAuyq/MA8a9l5s96CHCaaVnaNLN1toFbuKeRFcwMm5satN23GadpVIYw2uLamne63PSKCwqPqIVplP0mLnGvQoyegtNlxFE3JwkanNBge/1xRRO86LZS1z82x8FDXv+4LfEjqXB4//T/m7L/BRNHaLyygqnoMKkBA3mjO7UUSVnAc3zntGwZ8mxFW24r2I2Ka68OU+mLfrPJ2+fJfu3HtCt7/9nuxNdyh7ZwOtMNpZZtN77yFKFnx6hUqOXvtNMwBcwAncOEmYYRLLyh3rT1SQmi1nJJG9YDqmMUFWgzpkOdr26QRxe1/TsWB2/sv79M/brRSXb0ddr8+N4CQJLwzmfJSmeLy+6ylBWBZA5uXbWGZjo0Tm1fh8RE3nvpS95xK9V93kNkm0n284SYkF9bjvyXFKkCA4+SgL4znsGSGph0UI9uw0AYvD8te/eUxXbrUiKLjrBYAWTQLULJVcVHQaCTsM0S1BcMLLZc5XbbkUmgaCtR6LditKGijZehb3PTkzgpRbBpiTX0fNdx5hOmM2dTEiuICTTGO5yOFVOt42ixB0TL8eknR6QUxn4YErOF24RRL9LOwgvfWTy92OAy7gJNdaf+hAUCyxXWY5C4t7zNPLi//OEvfnONwKG0/ciKIEm8SmKKx7uOE23W15RouNp6HcYyQRjOZtOymyVkVFaIo2cliIM0WCDCy14S8XaVfNv1i0dGziHhHRN24grsw87vY2EbISQcaU1eNtAiRhca0bL2ujNtuZ1OHq+GaBK+ogrl4goy17ZqOkojO0bf8V0uedbO+3pa6zTuFtIqwwXmyjd4ByKoOIWA8A1Jmf0Yx39tDEOUaSq3LJJ/RdkoSsJ+msTPKbnUfB80soNPVj0mz83EHW0ZfXo1x3hKYmf0irDMeo+cbXFJJUTIGxRfTnuWaalFBK05ZWs2n4Cak2HEN7J+lcW4eNvkuqBhL8gKyxNus4KdcfpfD0gxS25gBFrD1MGgbc0aaDUV7WhWccokC9gcYEpdBwaSINkyygYT4JEPYbV8gCXkb4LqSxk1L59rNW7+cJB0ZvJ+9p6eQVsJSGy5J4Hd5ByTT0zfnQBUFf6OL7ewUmk/fUdN5oUxZV8OPPzq5xpmocR68hMdVk1sD9vOUmJ5WRrzKHxk1OYwMto5GKt5ksplH+S3jgPjM30MQ4IyzIk9NtOcl7YkJsEdoABMABgKiAAABD/wj5IvTl60a80n+YVFgX2jl0wHijGFbprBzyiyo5xyfbKHJtieGtt/fCCrCco/ErAyU5lTHBMwBBHabd5MRSZvUMAWL9K/DsuCnvkiKy1MA5Cvv+Nl0SuqUNAEHCTYUwCIzRz2SEPeoza2tboL5q2ivf12tf99WYb3gFLncQHJQC7F6BKeSrsXR8ZYGi0JXleM/IYVMscdASBHZwABeuc1FEV3rJ1EWPR/ktGbQEgR0cwKX77xKRpcXe07MGpReBGdjlUWVWTqgERFWN9FWbWkb5Jw+qtQiswOyrNraAA+eqKHTlaySz8geVF4EVmIFd/PNZPD6flZweO3kdOg4KcsAKzMDOiRfsixUSucbcgpALBQOZHDACKzBz7hR/fblepiz8aSSi6gBcj8AEbMAIrFxvil9U2WppuAG5KBQOLHLIOSMM5KcvW831voBkeSYUwVrDBwBJYMB+x5PTlW3kPFFgJUwFgTXZ72sOWMQ85z5JXXmMXGu574iu/TllMZYjWgIDsHB9UEBSqogqPYU9Bxtrf5wgQAxjsTFxBDoFDFxflqCU6iEsamWw08d9pEZYmw6Petpj0M3GwOngv4roinT+zyn7q8h1paP99RUWmdrYigweawPAekm2Q18c26CT6X7op6+wCiTP/UW0erRCV5Ej1xZfwzQaPzWTRk9ciTDuAO1SHCEffdAXOuRaa7O/rjx3QlzFGwPqj9IDYquns3zQoJhtbZCqCh4wsG1vhmyi8dOyaOyUdTQmeA0E93wde8YI5RHaog/6+kfvnAFd3EAv/rFVQwPjPgj20++MZ4EhiwWnRnnkjucQ3KMOzwJiqiaxtn32bwW/AjpdBh8xDr+yAAAAAElFTkSuQmCC&quot; alt=&quot;&quot; title=&quot;&quot;/&gt;
&lt;span&gt;&lt;span&gt;Redowan&amp;#39;s Reflections&lt;/span&gt;
&lt;span&gt;rednafi.com · by @rednafi.com&lt;/span&gt;
&lt;/span&gt;&lt;a href=&quot;https://bsky.app/profile/rednafi.com&quot;&gt;&lt;span&gt;View publication&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;That same post also exists as a record on &lt;a href=&quot;https://pdsls.dev/at://did:plc:fgtm2c26vfcj74rfmeggbyqj/site.standard.document/3mnl6iapia32u&quot;&gt;pdsls&lt;/a&gt;. It has the title, description, path,
tags, and the full body.&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://blob.rednafi.com/misc/standard-site/image-02-v2-b87aea40ea0e.png&quot; alt=&quot;The same post as a site.standard.document record in pdsls&quot; title=&quot;&quot;/&gt;&lt;/p&gt;&lt;p&gt;If you want to copy the setup, it’s all in the repo: &lt;a href=&quot;https://github.com/rednafi/com.rednafi/blob/main/sequoia.json&quot;&gt;config&lt;/a&gt;, &lt;a href=&quot;https://github.com/rednafi/com.rednafi/blob/main/scripts/frontmatter/main.go&quot;&gt;script&lt;/a&gt;, and the &lt;a href=&quot;https://github.com/rednafi/com.rednafi/blob/main/.github/workflows/ci.yml&quot;&gt;ci
workflow&lt;/a&gt;.&lt;/p&gt;</content:encoded>
</item>
<item>
<title>Decorative Images… — Adrian Roselli</title>
<link>https://adrianroselli.com/2026/10/decorative-images.html</link>
<enclosure type="image/jpeg" length="0" url="https://adrianroselli.com/wp-content/uploads/2026/10/decorative-300x300.png"></enclosure>
<guid isPermaLink="false">nrofSD8tMKI7fY3x9-lIKPkUn2HVTimjPMUJxQ==</guid>
<pubDate>Fri, 23 Oct 2026 20:10:43 +0000</pubDate>
<description>…aren’t a thing. Three hand-drawn lines curling together like an S or three skinny snakes trying to spoon. At least not as far as people are concerned. Yes, this is an absolutist take, but sometimes it’s necessary to take the absolutist position to force someone to justify their own reasoning.…</description>
<content:encoded>&lt;h1&gt;Decorative Images…&lt;/h1&gt;&lt;p&gt;
…aren’t a thing.
&lt;/p&gt;&lt;p&gt;
At least not as far as people are concerned. Yes, this is an absolutist take, but sometimes it’s necessary to take the absolutist position to force someone to justify their own reasoning. Make them argue for something they’ve not considered. Revisit their own decision-making process.
&lt;/p&gt;&lt;p&gt;
Broadly, I’m talking about images in narrative content that are &lt;em&gt;not&lt;/em&gt; also iconography nor used as part of interactive controls.
&lt;/p&gt;&lt;p&gt;
Adding an image to a design, email, document, page, app, etc. is done for a reason. Maybe the author wants to convey a mood or connect it to a theme. In which case, the person who can’t see the image would likely benefit from knowing that mood, having that connection made.
&lt;/p&gt;&lt;p&gt;
Sometimes the reason is far more pedestrian. Maybe the author wants to fill white space. In which case, that’s a design gap. It should be addressed in layout, otherwise the author is &lt;em&gt;unintentionally&lt;/em&gt; sending a message to those who can see it.
&lt;/p&gt;&lt;p&gt;
I’m not discussing every possible scenario. That’s been done. Instead, I’m providing &lt;em&gt;you&lt;/em&gt; some over-simplified questions to ask when evaluating an image:
&lt;/p&gt;&lt;ol&gt;
 &lt;li&gt;If the decorative image was removed completely, would any readers care?
  &lt;ul&gt;
   &lt;li&gt;&lt;strong&gt;No?&lt;/strong&gt; Then remove the image.&lt;/li&gt;
   &lt;li&gt;&lt;strong&gt;Yes?&lt;/strong&gt; Then it’s not decorative.&lt;/li&gt;
  &lt;/ul&gt;
 &lt;/li&gt;
 &lt;li&gt;If the decorative image was replaced with a picture of poo, would you as the author care?
  &lt;ul&gt;
   &lt;li&gt;&lt;strong&gt;No?&lt;/strong&gt; Then remove the image.&lt;/li&gt;
   &lt;li&gt;&lt;strong&gt;Yes?&lt;/strong&gt; Then it’s not decorative.&lt;/li&gt;
  &lt;/ul&gt;
 &lt;/li&gt;
&lt;/ol&gt;&lt;h2&gt;Decision Tree&lt;/h2&gt;&lt;p&gt;
To hopefully make this a bit easier on all of us, I’ve adapted the &lt;a href=&quot;https://www.w3.org/WAI/tutorials/images/decision-tree/&quot;&gt;WAI alt text decision tree&lt;/a&gt; to include more steps.
&lt;/p&gt;&lt;div&gt;




  Does the image contain text?
  
  No
  
  Yes


&lt;h2&gt;
  If yes, the image contains text…
&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;… and the text has a specific function, for example is an icon.
    Use the &lt;code&gt;alt&lt;/code&gt; attribute to communicate the function of the image. See &lt;a href=&quot;https://www.w3.org/WAI/tutorials/images/functional/&quot;&gt;Functional Images&lt;/a&gt;.
  &lt;/li&gt;
  &lt;li&gt;… and the text in the image is not present otherwise. Use the &lt;code&gt;alt&lt;/code&gt; attribute to include the text of the image. See &lt;a href=&quot;https://www.w3.org/WAI/tutorials/images/textual/#image-of-styled-text-with-decorative-effect&quot;&gt;Images of Text&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  If no, the image contains no text…
&lt;/h2&gt;

  Is the image used in a link or a button, and would it be hard or impossible to understand what the link or the button does, if the image wasn’t there?
  
  No
  
  Yes


&lt;h2&gt;
  If yes, the image is contained in a control…
&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;Use the &lt;code&gt;alt&lt;/code&gt; attribute to communicate the destination of the link or action taken. See &lt;a href=&quot;https://www.w3.org/WAI/tutorials/images/functional/&quot;&gt;Functional Images&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  If no, the image is not contained in a control…
&lt;/h2&gt;

  Does the image contribute meaning to the current page or context?
  
  No
  
  Yes


&lt;h2&gt;
  If yes, the image contributes meaning…
&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;… and it’s a simple graphic or photograph.
    Use a brief description of the image in a way that conveys that meaning in the &lt;code&gt;alt&lt;/code&gt; attribute. See &lt;a href=&quot;https://www.w3.org/WAI/tutorials/images/informative/&quot;&gt;Informative Images&lt;/a&gt;.
  &lt;/li&gt;
  &lt;li&gt;… and it’s a graph or complex piece of information.
    Include the information contained in the image elsewhere on the page. See &lt;a href=&quot;https://www.w3.org/WAI/tutorials/images/complex/&quot;&gt;Complex Images&lt;/a&gt;.
  &lt;/li&gt;
  &lt;li&gt;… and it shows content that is redundant to &lt;em&gt;real&lt;/em&gt; text nearby.
    Use an empty &lt;code&gt;alt&lt;/code&gt; attribute. See (redundant) &lt;a href=&quot;https://www.w3.org/WAI/tutorials/images/functional/#logo-image-within-link-text&quot;&gt;Functional Images&lt;/a&gt;.
  &lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  If no, the image contributes no meaning…
&lt;/h2&gt;

  Is the image purely decorative or not intended for the user?
  
  No
  
  Yes


&lt;h2&gt;
  If no, the image is not purely decorative or is intended for the user…
&lt;/h2&gt;
&lt;ul&gt;
 &lt;li&gt;Then probably start over to better identify how to give it a text alternative.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2&gt;
  If yes, the image is purely decorative or not intended for the user…
&lt;/h2&gt;

  If the image was removed completely, would any readers care? 
  
  No
  
  Yes


&lt;h2&gt;
  If yes, users would care if the image went away…
&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;Users will think it’s not decorative. I suggest you start over.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2&gt;
  If no, users wouldn’t care if the image went away…
&lt;/h2&gt;

  If the image was replaced with a picture of poo, would you as the author care? 
  
  No
  
  Yes


&lt;h2&gt;
  If no, the author wouldn’t care if the image was replaced by poo…
&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;You &lt;em&gt;should&lt;/em&gt; care. Poo is not decorative. I suggest you start over.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  If yes, the author would care if the image was replaced by poo…
&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;We agree that poo is not decorative. Remove the picture and save yourself the hassle.&lt;/li&gt;
&lt;/ul&gt;


&lt;/div&gt;&lt;h2&gt;Related&lt;/h2&gt;&lt;ul&gt;
 &lt;li&gt;&lt;a href=&quot;https://www.smashingmagazine.com/2021/06/img-alt-attribute-alternate-description-decorative/&quot;&gt;&lt;cite&gt;Your Image Is Probably Not Decorative&lt;/cite&gt;&lt;/a&gt;, by Eric Bailey, 17 June 2021&lt;/li&gt;
 &lt;li&gt;&lt;a href=&quot;https://adrianroselli.com/2023/08/an-alt-decision-tree-using-only-has.html&quot;&gt;&lt;cite&gt;An alt Decision Tree Using Only :has()&lt;/cite&gt;&lt;/a&gt;, by me, 13 August 2023&lt;/li&gt;
 &lt;li&gt;&lt;a href=&quot;https://adrianroselli.com/2024/04/long-alt.html&quot;&gt;&lt;cite&gt;Long Alt&lt;/cite&gt;&lt;/a&gt;, by me, 20 April 2024&lt;/li&gt;
 &lt;li&gt;&lt;a href=&quot;https://adrianroselli.com/2024/05/my-approach-to-alt-text.html&quot;&gt;&lt;cite&gt;My Approach to Alt Text&lt;/cite&gt;&lt;/a&gt;, by me, 28 May 2024&lt;/li&gt;
 &lt;li&gt;&lt;a href=&quot;https://nicolas-steenhout.com/retire-decorative-images/&quot;&gt;&lt;cite&gt;It’s time to retire the concept of decorative images.&lt;/cite&gt;&lt;/a&gt; by Nicolas Steenhout, 28 September 2026&lt;/li&gt;
 &lt;li&gt;&lt;a href=&quot;https://github.com/w3c/wcag3/issues/878&quot;&gt;WCAG 3 issue #878 Definition of decorative images update&lt;/a&gt;, 29 September 2026&lt;/li&gt;
 &lt;li&gt;&lt;a href=&quot;https://meiert.com/blog/decorative-images/&quot;&gt;&lt;cite&gt;On the Decision Underlying Decorative Images&lt;/cite&gt;&lt;/a&gt;, by Jens Oliver Meiert, 8 October 2026&lt;/li&gt;
&lt;/ul&gt;&lt;article&gt;

			&lt;h2&gt;3 Comments&lt;/h2&gt;


			
			&lt;div&gt;

				&lt;blockquote&gt;
					&lt;div&gt;
						&lt;header&gt;
						
						
						&lt;a href=&quot;https://adrianroselli.com/2026/10/decorative-images.html?replytocom=435759#respond&quot;&gt;Reply&lt;/a&gt;
						&lt;/header&gt;


					&lt;p&gt;Hi! I guess this depends on the definition of “decorative”.  If we think of actual images hanging on the wall in an apartment are these questions still valid? If abstract art someone has on the wall is not decorative then what is it?&lt;br/&gt;
“Maybe the author wants to fill white space” isn’t it one of the functions of decorative images?&lt;br/&gt;
I have a feeling that sometimes alt would add just noice, as images that are intended to speed up browsing for sighter users would do the opposite for ones using SR&lt;/p&gt;


					&lt;/div&gt;
					&lt;footer&gt;
						&lt;cite&gt;Michal&lt;/cite&gt;;
						&lt;time&gt;19 October 2026 at 11:06 am&lt;/time&gt;.
						&lt;a href=&quot;https://adrianroselli.com/2026/10/decorative-images.html#comment-435759&quot;&gt;Permalink&lt;/a&gt;
					&lt;/footer&gt;

				&lt;/blockquote&gt;


			&lt;div&gt;

				&lt;blockquote&gt;
					&lt;div&gt;
						&lt;header&gt;
						In response to &lt;a href=&quot;https://adrianroselli.com/2026/10/decorative-images.html#comment-435759&quot;&gt;Michal&lt;/a&gt;.
						
						&lt;a href=&quot;https://adrianroselli.com/2026/10/decorative-images.html?replytocom=435763#respond&quot;&gt;Reply&lt;/a&gt;
						&lt;/header&gt;


					&lt;blockquote&gt;&lt;p&gt;
Hi! I guess this depends on the definition of “decorative”. If we think of actual images hanging on the wall in an apartment are these questions still valid?
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Ask the host how they would feel about removing them if they weren’t prepared to answer questions about each one, including they they are hung. I think you’ll find most hosts are delighted to talk about the photos they’ve hung showing them holding fish or trophies or babies or posing in front of people or buildings or babies.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
If abstract art someone has on the wall is not decorative then what is it?
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Insight into the taste and style of the host, and maybe a signal about how much money they want you to know they have.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
“Maybe the author wants to fill white space” isn’t it one of the functions of decorative images?
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;For a transparent 1990s-era spacer.gif, sure. For all others, see my second question in the post.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
I have a feeling that sometimes alt would add just noice, as images that are intended to speed up browsing for sighter users would do the opposite for ones using SR
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;In some contexts, alt text can add noise. See my linked posts &lt;a href=&quot;https://adrianroselli.com/2024/04/long-alt.html&quot;&gt;&lt;cite&gt;Long Alt&lt;/cite&gt;&lt;/a&gt; and &lt;a href=&quot;https://adrianroselli.com/2024/05/my-approach-to-alt-text.html&quot;&gt;&lt;cite&gt;My Approach to Alt Text&lt;/cite&gt;&lt;/a&gt; for more context.&lt;/p&gt;
&lt;p&gt;But if you aren’t a daily screen reader user and / or you haven’t checked with your audience, then you need more than a feeling to decide on their behalf.&lt;/p&gt;


					&lt;/div&gt;
					&lt;footer&gt;
						&lt;cite&gt;&lt;a href=&quot;https://adrianroselli.com/&quot;&gt;Adrian Roselli&lt;/a&gt;&lt;/cite&gt;;
						&lt;time&gt;19 October 2026 at 12:05 pm&lt;/time&gt;.
						&lt;a href=&quot;https://adrianroselli.com/2026/10/decorative-images.html#comment-435763&quot;&gt;Permalink&lt;/a&gt;
					&lt;/footer&gt;

				&lt;/blockquote&gt;


			&lt;div&gt;

				&lt;blockquote&gt;
					&lt;div&gt;
						&lt;header&gt;
						In response to &lt;a href=&quot;https://adrianroselli.com/2026/10/decorative-images.html#comment-435763&quot;&gt;Adrian Roselli&lt;/a&gt;.
						
						&lt;a href=&quot;https://adrianroselli.com/2026/10/decorative-images.html?replytocom=435827#respond&quot;&gt;Reply&lt;/a&gt;
						&lt;/header&gt;


					&lt;p&gt;Thanks for the response, I still would argue that some images are simply decorative and it’s pretty shallow to assume people hang something on the wall just to brag from time to time or have a conversation starter, won’t you agree?&lt;br/&gt;
Even on your homepage images serve only as decorative image to blog post anchors, they have empty alt and it’s of course correct, only inside the article the image is properly labeled. Will you remove them then? ;)&lt;/p&gt;


					&lt;/div&gt;
					&lt;footer&gt;
						&lt;cite&gt;Michal&lt;/cite&gt;;
						&lt;time&gt;20 October 2026 at 9:13 am&lt;/time&gt;.
						&lt;a href=&quot;https://adrianroselli.com/2026/10/decorative-images.html#comment-435827&quot;&gt;Permalink&lt;/a&gt;
					&lt;/footer&gt;

				&lt;/blockquote&gt;

&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;



		
		




	&lt;div&gt;
		&lt;h3&gt;Leave a Comment or Response &lt;small&gt;&lt;a href=&quot;https://adrianroselli.com/2026/10/decorative-images.html#respond&quot;&gt;Cancel response&lt;/a&gt;&lt;/small&gt;&lt;/h3&gt;&lt;p&gt;Comment: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;The form doesn’t support Markdown.&lt;/li&gt;&lt;li&gt;This form allows limited HTML.&lt;/li&gt;&lt;li&gt;Allowed HTML elements are &lt;code&gt;&amp;lt;a href&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;blockquote&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;code&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;del&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;em&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;ins&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;q&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;strong&amp;gt;&lt;/code&gt;, and maybe some others. WordPress is fickle and randomly blocks or allows some.&lt;/li&gt; &lt;li&gt;If you want to include HTML &lt;em&gt;examples&lt;/em&gt; in your comment, then HTML encode them. E.g. &lt;code&gt;&amp;lt;code&amp;gt;&amp;amp;lt;div&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;/code&gt; (you can copy and paste that chunk).&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Name &lt;span&gt;*&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;Email &lt;span&gt;*&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;Website &lt;/p&gt;
&lt;p&gt; 

&lt;/p&gt;&lt;p&gt;Δ
&lt;/p&gt;	&lt;/div&gt;
	
		&lt;/article&gt;</content:encoded>
</item>
<item>
<title>Réseaux sociaux, streams, rencontres : le jeu vidéo, une pratique communautaire pour la Gen Z</title>
<link>https://www.blogdumoderateur.com/reseaux-sociaux-streams-rencontres-jeu-video-gen-z/</link>
<enclosure type="image/jpeg" length="0" url="https://f.hellowork.com/blogdumoderateur/2026/10/pratique-communautaire-gamers-etude-sell-mediametrie-294x147.jpg"></enclosure>
<guid isPermaLink="false">M6ObIGSTI35YcHo_6RQ4nBYI84NawUfWYT4EKQ==</guid>
<pubDate>Fri, 23 Oct 2026 14:11:00 +0000</pubDate>
<description>Selon l&#39;enquête annuelle du SELL et de Médiamétrie, la Gen Z vit le jeu vidéo comme une culture partagée, qui passe autant par les réseaux sociaux et le streaming que par les rencontres physiques.</description>
<content:encoded>&lt;img src=&quot;https://f.hellowork.com/blogdumoderateur/2026/10/pratique-communautaire-gamers-etude-sell-mediametrie-294x147.jpg&quot; alt=&quot;Réseaux sociaux, streams, rencontres : le jeu vidéo, une pratique communautaire pour la Gen Z&quot; title=&quot;&quot;/&gt;Selon l&amp;#39;enquête annuelle du SELL et de Médiamétrie, la Gen Z vit le jeu vidéo comme une culture partagée, qui passe autant par les réseaux sociaux et le streaming que par les rencontres physiques.</content:encoded>
</item>
<item>
<title>43 % des pros du SEO font du GEO une priorité pour 2027, alors que sa mesure reste floue</title>
<link>https://www.blogdumoderateur.com/pros-seo-geo-priorite-2027/</link>
<enclosure type="image/jpeg" length="0" url="https://f.hellowork.com/blogdumoderateur/2026/10/State-of-search-2027-1-294x162.jpg"></enclosure>
<guid isPermaLink="false">5FL8owfam1mbaZY6Z4Lxdbj8-AMRhj7HITqTYA==</guid>
<pubDate>Fri, 23 Oct 2026 14:11:00 +0000</pubDate>
<description>Seuls 14 % des professionnels interrogés par SEJ citent le GEO parmi leurs leviers les plus efficaces cette année, mais 43 % en font une priorité pour les 12 prochains mois. Pourtant, la mesure de la visibilité dans les IA reste à construire.</description>
<content:encoded>&lt;img src=&quot;https://f.hellowork.com/blogdumoderateur/2026/10/State-of-search-2027-1-294x162.jpg&quot; alt=&quot;43 % des pros du SEO font du GEO une priorité pour 2027, alors que sa mesure reste floue&quot; title=&quot;&quot;/&gt;Seuls 14 % des professionnels interrogés par SEJ citent le GEO parmi leurs leviers les plus efficaces cette année, mais 43 % en font une priorité pour les 12 prochains mois. Pourtant, la mesure de la visibilité dans les IA reste à construire.</content:encoded>
</item>
<item>
<title>Google veut rendre les liens plus visibles dans les AI Overviews</title>
<link>https://www.blogdumoderateur.com/google-veut-rendre-liens-visibles-ai-overviews/</link>
<enclosure type="image/jpeg" length="0" url="https://f.hellowork.com/blogdumoderateur/2026/10/AI-Mode-AI-overviews-sources-plus-visibles-294x165.jpg"></enclosure>
<guid isPermaLink="false">atXrfW71Y0nw56pqNDdwzMGw4N6RN2ZgwmSMug==</guid>
<pubDate>Fri, 23 Oct 2026 14:11:00 +0000</pubDate>
<description>Google déploie plusieurs mises à jour pour rendre les sources plus cliquables dans ses réponses IA. Des ajustements qui interviennent alors que les éditeurs voient ces fonctionnalités capter leur trafic.</description>
<content:encoded>&lt;img src=&quot;https://f.hellowork.com/blogdumoderateur/2026/10/AI-Mode-AI-overviews-sources-plus-visibles-294x165.jpg&quot; alt=&quot;Google veut rendre les liens plus visibles dans les AI Overviews&quot; title=&quot;&quot;/&gt;Google déploie plusieurs mises à jour pour rendre les sources plus cliquables dans ses réponses IA. Des ajustements qui interviennent alors que les éditeurs voient ces fonctionnalités capter leur trafic.</content:encoded>
</item>
<item>
<title>Please don&#39;t mess with links:</title>
<link>https://maurycyz.com/misc/real_links/</link>
<guid isPermaLink="false">kIEN9KVEpGaYjAsXbDBiIPxqxZ2o6Zw5HinIiw==</guid>
<pubDate>Fri, 23 Oct 2026 07:14:53 +0000</pubDate>
<description>Please don&#39;t mess with links:</description>
<content:encoded>&lt;h1&gt;&lt;em&gt;Please don&amp;#39;t mess with links:&lt;/em&gt;&lt;/h1&gt;&lt;b&gt;&lt;time&gt;2026-05-31&lt;/time&gt;&lt;/b&gt;&lt;p&gt;

A link is just a button that takes you somewhere when you click it right?
&lt;/p&gt;&lt;p&gt;
&lt;/p&gt;&lt;center&gt;&lt;span&gt;100% legit link&lt;/span&gt;&lt;/center&gt;&lt;p&gt;
Except that&amp;#39;s a pale, shallow imitation of a link.
A real link can be:
&lt;/p&gt;&lt;p&gt;
&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Opened in a new tab. (ctrl)&lt;/li&gt;
&lt;li&gt;... or a fresh window. (shift)&lt;/li&gt;
&lt;li&gt;... or saved as a file (alt).&lt;/li&gt;
&lt;li&gt;Copied as a URL (right click)&lt;/li&gt;
&lt;li&gt;Used with the keyboard (tab + enter)&lt;/li&gt;
&lt;li&gt;Seen by tools like search engines and screen readers.&lt;/li&gt;
&lt;li&gt;Hovered over to see the URL.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;
... none of which work with a button.
&lt;/p&gt;&lt;p&gt;
&lt;em&gt;Another common offense&lt;/em&gt; is to use a real link, but hook the click event to open a popup.
However, with a real &amp;lt;a target=&amp;quot;_blank&amp;quot;&amp;gt; link, I can:
&lt;/p&gt;&lt;p&gt;
&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;See the loading progress...&lt;/li&gt;
&lt;li&gt;... or/and cancel it.&lt;/li&gt;
&lt;li&gt;... see descriptive error pages and retry if needed.&lt;/li&gt;
&lt;li&gt;Open multiple at once.&lt;/li&gt;
&lt;li&gt;Read the original page while it loads.&lt;/li&gt;
&lt;li&gt;Use my browser&amp;#39;s tabs or/and window manager to organize them.&lt;/li&gt;
&lt;li&gt;Bookmark the page.&lt;/li&gt;
&lt;li&gt;Copy the URL and send it to a friend.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;
... and above all, they are consistent:
&lt;/p&gt;&lt;p&gt;
I&amp;#39;ve long lost count of how many times I&amp;#39;ve accidentally closed the whole site while trying to close a popup that was a little too convincing.
&lt;/p&gt;&lt;p&gt;
It&amp;#39;s also extremely common to click a link with a slow connection, only to be greeted with perpetual spinner.
I have no idea if anything is actually happening or how long it will take.
Worse, it usually covers up the original page so I can&amp;#39;t even read that!
&lt;/p&gt;&lt;p&gt;
&lt;em&gt;Browsers are good at links and loading pages: It&amp;#39;s the whole point.&lt;/em&gt;
&lt;/p&gt;&lt;p&gt;
&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Don&amp;#39;t use javascript buttons as links.&lt;/li&gt;
&lt;li&gt;Don&amp;#39;t build your own loading animations.&lt;/li&gt;
&lt;li&gt;Link previews should open and close on hover, not on click.&lt;/li&gt;
&lt;li&gt;Don&amp;#39;t open links in javascript popups: Use target=&amp;quot;_blank&amp;quot; instead.&lt;/li&gt;
&lt;/ul&gt;&lt;h1&gt;&lt;em&gt;Other common problems&lt;/em&gt;:&lt;/h1&gt;&lt;p&gt;
Infinite scrolling breaks ctrl-f, bookmarks, the home/end keys and often the back button.
&lt;/p&gt;&lt;p&gt;
You can have a 100k of text on a page:
Browsers will render partially downloaded HTML and the user won&amp;#39;t even notice.
Using a 5 MB javascript framework just do a worse job of downloading text is dumb.
&lt;/p&gt;&lt;p&gt;
To optimize speed, it&amp;#39;s best to minimize the total number of round trips.
Just putting everything in a single TCP connection will always be better than breaking it up because of TCP&amp;#39;s slow start algorithm.
&lt;/p&gt;&lt;p&gt;
&lt;em&gt;Don&amp;#39;t reimplement &amp;lt;details&amp;gt;&lt;/em&gt; which will break search tools and screen readers.
&lt;/p&gt;&lt;p&gt;
... but using fancy CSS to make it look nice is fine.
&lt;/p&gt;&lt;p&gt;
&lt;em&gt;Don&amp;#39;t roll your own date picker&lt;/em&gt; (or any other built-in form inputs)
&lt;/p&gt;&lt;p&gt;
This will always used the user&amp;#39;s preferred date format, covert it to the standard yyyy-mm-dd, and works with the keyboard...
also, it&amp;#39;s one line of code that works with dark mode by default. 
&lt;/p&gt;&lt;h1&gt;&lt;em&gt;Related&lt;/em&gt;:&lt;/h1&gt;&lt;p&gt;
Real links!
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://susam.net/do-not-roll-your-own.html&quot;&gt;https://susam.net/do-not-roll-your-own.html&lt;/a&gt;: Don&amp;#39;t Roll Your Own ...&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://maurycyz.com/misc/13kb/&quot;&gt;/misc/13kb/&lt;/a&gt;: Why using a single big page can actually improve performance.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;

&lt;/p&gt;</content:encoded>
</item>
<item>
<title>Episodio 107. SEO Local ¿Cómo se hace, pero bien?</title>
<link>https://leaderselling.com/seo-local-google-my-business/</link>
<enclosure type="image/jpeg" length="0" url="https://leaderselling.com/wp-content/uploads/2022/11/episodio-107-seo-local.png"></enclosure>
<guid isPermaLink="false">eAIjIAWtBtb7I-jSsgHnggSoWxbEEW1a2CrQ7w==</guid>
<pubDate>Fri, 23 Oct 2026 04:08:36 +0000</pubDate>
<description>No te dejes engañar, el SEO Local es muy importante para tu negocio local. ¿Sabes cómo hacerlo, pero bien, bien? Dale al play ▶️</description>
<content:encoded>&lt;p&gt;La &lt;strong&gt;estrategia SEO local&lt;/strong&gt;  es básico para nuestro negocio y para hacernos visibles cuando ése cliente/a busca un negocio o servicio en un mapa por proximidad a su ubicación.&lt;/p&gt;&lt;p&gt;Ya hemos comentado en otras ocasiones, que el posicionamiento Web es el conjunto de técnicas dirigidas a mejorar la posición de un sitio web en los resultados orgánicos de los diferentes buscadores existentes.&lt;/p&gt;&lt;p&gt;¿Pero qué pasa con el SEO local?&lt;/p&gt;&lt;p&gt;Cada vez más, Google se convierte en un asistente personal para cualquier problema, incluso, para encontrar rápidamente un restaurante que quede cerca, para ver su menú o para reservar una mesa para más tarde.&lt;/p&gt;&lt;p&gt;Si tienes un negocio físico o digital o si tienes un e-commerce este episodio te interesa y mucho&lt;/p&gt;&lt;p&gt;Dale al play y escúchalo ahora.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;Otros episodios que van directamente enlazados al tema de hoy son los siguientes:&lt;/p&gt;&lt;p&gt;▶ &lt;a href=&quot;https://leaderselling.com/seo-como-posicionar-tu-web/&quot;&gt;Episodio 74. SEO para posicionar tu web&lt;/a&gt;&lt;/p&gt;&lt;p&gt;▶ &lt;a href=&quot;https://leaderselling.com/inteligencia-artificial-social-selling-marketing-digital/&quot;&gt;Episodio 52: La Inteligencia Artificial aplicada al Social Selling y Marketing digital&lt;/a&gt;&lt;/p&gt;&lt;p&gt;▶ &lt;a href=&quot;https://leaderselling.com/seo-de-contenidos-para-tu-blog/&quot;&gt;Episodio 102. SEO de contenidos o como escoger tu keyword&lt;/a&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;div&gt;&lt;a href=&quot;https://leaderselling.com/kit-digital-agente-digitalizador/&quot;&gt;&lt;img src=&quot;data:image/svg+xml,%3Csvg%20xmlns=&amp;#39;http://www.w3.org/2000/svg&amp;#39;%20viewBox=&amp;#39;0%200%20955%20200&amp;#39;%3E%3C/svg%3E&quot; alt=&quot;Accede al Kit Digital - LeaderSelling&quot; title=&quot;Accede al Kit Digital - LeaderSelling&quot;/&gt;&lt;/a&gt;&lt;/div&gt;&lt;h2&gt;&lt;span&gt;¿Qué es el SEO Local?&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;El SEO Local es el conjunto de técnicas dirigidas a aumentar la visibilidad de una página web o &lt;a href=&quot;https://leaderselling.com/compras-locas-black-friday/&quot;&gt;eCommerce&lt;/a&gt; en las búsquedas de información que hacen  los usuarios en función de la ubicación geográfica actual de los mismos.&lt;/p&gt;&lt;p&gt;O lo que es más o menos lo mismo, hacer que el sitio web de una empresa que tenga un local comercial físico o preste un servicio en un área geográfica específica sea encontrado por los potenciales clientes que se encuentran en esa zona y realicen búsquedas relacionadas con ese negocio.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt; &lt;/em&gt;&lt;/strong&gt;&lt;strong&gt;&lt;em&gt; &lt;/em&gt;&lt;/strong&gt;&lt;strong&gt;&lt;em&gt;Ahora es el momento de escuchar nuestro Episodio 107. SEO Local  ¿Cómo se hace?&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt; &lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;SEO Local: Beneficios&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;Según Google:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;
&lt;ul&gt;
&lt;li&gt;El 30% de todas las búsquedas móviles tienen relación con la ubicación.&lt;/li&gt;
&lt;li&gt;El 78% de las personas que buscan algo cercano en sus teléfonos visitan el negocio durante el día.&lt;/li&gt;
&lt;li&gt;El 28% de las búsquedas de algo cercano se convierte en una compra.&lt;/li&gt;
&lt;li&gt;Y en períodos como la Navidad, el 78% de los consumidores que visitaron una tienda, hicieron búsquedas online previamente.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Así que queda claro lo importante que es que te encuentren cuando los usuarios hacen cualquiera de las acciones anteriores ¿No te parece?&lt;/p&gt;&lt;p&gt;Pero más allá de estos datos &lt;strong&gt;los beneficios del SEO local&lt;/strong&gt; son muy claros:&lt;/p&gt;&lt;p&gt;🔎Aumenta la visibilidad en una región geográfica&lt;/p&gt;&lt;p&gt;🔎Incentiva la acción&lt;/p&gt;&lt;p&gt;🔎Aumenta tu autoridad local&lt;/p&gt;&lt;p&gt;🔎Atrae nuevos tipos de público&lt;/p&gt;&lt;p&gt;🔎Ayuda a potenciar tu &lt;a href=&quot;https://leaderselling.com/como-hacer-una-auditoria-digital-de-tu-marca/&quot;&gt;marca&lt;/a&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;h2&gt;&lt;span&gt;¿Cómo hacer SEO Local en mi negocio?&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;Para el posicionamiento de &lt;a href=&quot;https://leaderselling.com/12-tips-para-atraer-seguidores-a-tu-perfil-empresa-linkedin/&quot;&gt;negocios&lt;/a&gt; en Local Pack y en Local Finder, Google se basa en diferentes criterios, resumidos en proximidad, prestigio y relevancia.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;🎯 Proximidad&lt;/strong&gt;:  Se refiere a la distancia del negocio en relación al usuario o al término de ubicación que escribe en el buscador. Google entiende que los resultados más relevantes para ellos son esos que están más cerca.&lt;/p&gt;&lt;p&gt;De ahí la importancia de rellenar bien la ficha de Google my business para tener los datos de tu negocio actualizados además de &lt;strong&gt;geolocalizar  &lt;/strong&gt;todas las fotos que pongamos.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;💎 Prestigio: &lt;/strong&gt;Se trata del nivel de popularidad de un negocio en su región. Para garantizar ese criterio, Google analiza no solo la fama de la marca en la web, también en todo el mundo offline. Y en este punto las reseñas de calidad, con las palabras clave adecuadas, son muy importantes para tu negocio.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;🎆 Relevancia&lt;/strong&gt;: El criterio de relevancia considera la correspondencia entre el negocio y el término que el usuario usa durante la búsqueda. Para ello, Google analiza los datos de la empresa en GBP.&lt;/p&gt;&lt;p&gt;Es importante tener las palabras clave en la descripción de tu negocio para que respondan a las búsquedas de los usuarios.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;Como puedes ver &lt;strong&gt;el SEO local es un tipo de seo que debes tener en cuenta en tu negocio para ganar visibilidad&lt;/strong&gt;, sin olvidar tu SEO web o tu SEO técnico.&lt;/p&gt;&lt;p&gt;Hay herramientas que te ayudan en la configuración del SEO local, pero si quieres un consejo, “zapatero a tus zapatos” es decir contrata a un externo para hacer consultorías esporádicas sobre este tema.&lt;/p&gt;&lt;p&gt;Y si no tienes web, lo mejor es que formes a alguien en tu equipo con un buen consultor, para que se encargue de mantener actualizada tu ficha de negocio y todo lo necesario para posicionar tu negocio localmente.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;Si te ha quedado alguna duda, escríbenos a &lt;a href=&quot;mailto:sonia@leaderselling.com&quot;&gt;sonia@leaderselling.com&lt;/a&gt; y te la resolvemos.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;En nuestro próximo episodio del martes, discutiremos sobre ¿Por qué nos volvemos locos/as cuando llega el Black Friday?&lt;/p&gt;&lt;p&gt;¡Agéndalo para el próximo martes!&lt;/p&gt;&lt;p&gt;No te lo pierdas y continúa avanzando en tu estrategia de &lt;strong&gt;Digital Selling&lt;/strong&gt; para ¡Vender más en internet!&lt;/p&gt;&lt;p&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/p&gt;&lt;h2&gt;&lt;span&gt;&lt;strong&gt;Recuerda…&lt;/strong&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;Somos tu agencia y consultora que trabaja para que vendas más en Internet, integrando la fuerza de tu equipo y convirtiéndolos en Embajadores de Marca.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;div&gt;
	&lt;div&gt;
		&lt;div&gt;
			&lt;div&gt;
				&lt;div&gt;
					&lt;div&gt;
						&lt;div&gt;
							&lt;div&gt;
								&lt;div&gt;
									&lt;p&gt;Síguenos en Ivoox&lt;/p&gt;
									&lt;a href=&quot;https://www.ivoox.com/s_p2_1086948_1.html&quot;&gt;&lt;div&gt;&lt;img src=&quot;data:image/svg+xml,%3Csvg%20xmlns=&amp;#39;http://www.w3.org/2000/svg&amp;#39;%20viewBox=&amp;#39;0%200%20413%20161&amp;#39;%3E%3C/svg%3E&quot; alt=&quot;Leader Selling - Podcasts - Ivoox&quot; title=&quot;&quot;/&gt;&lt;/div&gt;&lt;/a&gt;
									&lt;p&gt;Te invitamos a seguir el podcast &amp;quot;Digital Selling para empresas del siglo XXI&amp;quot; en  Ivoox.&lt;/p&gt;
								&lt;/div&gt; 
							&lt;/div&gt;
						&lt;/div&gt;
					&lt;/div&gt;
					&lt;div&gt;
						&lt;div&gt;
							&lt;div&gt;
								&lt;div&gt;
									&lt;p&gt;Síguenos en Spotify&lt;/p&gt;
									&lt;a href=&quot;https://open.spotify.com/show/7CBW3KOTAkoSnTti3WoVNY&quot;&gt;&lt;div&gt;&lt;img src=&quot;data:image/svg+xml,%3Csvg%20xmlns=&amp;#39;http://www.w3.org/2000/svg&amp;#39;%20viewBox=&amp;#39;0%200%20413%20161&amp;#39;%3E%3C/svg%3E&quot; alt=&quot;Leader Selling - Podcasts - Spotify&quot; title=&quot;&quot;/&gt;&lt;/div&gt;&lt;/a&gt;
									&lt;p&gt;Te invitamos a seguir el podcast &amp;quot;Digital Selling para empresas del siglo XXI&amp;quot; en  Spotify.&lt;/p&gt;
								&lt;/div&gt; 
							&lt;/div&gt;
						&lt;/div&gt;
					&lt;/div&gt;
					&lt;div&gt;
						&lt;div&gt;
							&lt;div&gt;
								&lt;div&gt;
									&lt;p&gt;Síguenos en Google Podcast&lt;/p&gt;
									&lt;a href=&quot;https://podcasts.google.com/feed/aHR0cHM6Ly9hbmNob3IuZm0vcy8zM2M3M2U5NC9wb2RjYXN0L3Jzcw==&quot;&gt;&lt;div&gt;&lt;img src=&quot;data:image/svg+xml,%3Csvg%20xmlns=&amp;#39;http://www.w3.org/2000/svg&amp;#39;%20viewBox=&amp;#39;0%200%20413%20161&amp;#39;%3E%3C/svg%3E&quot; alt=&quot;Leader Selling - Podcasts - Google Podcast&quot; title=&quot;&quot;/&gt;&lt;/div&gt;&lt;/a&gt;												
									&lt;p&gt;Te invitamos a seguir el podcast &amp;quot;Digital Selling para empresas del siglo XXI&amp;quot; en  Google Podcast.&lt;/p&gt;
								&lt;/div&gt; 
							&lt;/div&gt;
						&lt;/div&gt;
					&lt;/div&gt;
				&lt;/div&gt;
			&lt;/div&gt;
		&lt;/div&gt; 
	&lt;/div&gt;
&lt;/div&gt;&lt;div&gt;
	&lt;div&gt;
		&lt;div&gt;
			&lt;div&gt;
				&lt;div&gt;
					&lt;p&gt;Síguenos en &lt;a href=&quot;https://leaderselling.com/novedades-linkedin-2023/&quot;&gt;Linkedin&lt;/a&gt;&lt;/p&gt;
					&lt;p&gt;Si quieres encontrar oportunidades profesionales que te ayudan a vender más, síguenos en LinkedIn. Allí seguimos dándote consejos de &lt;a href=&quot;https://leaderselling.com/social-media-listening/&quot;&gt;Social Selling&lt;/a&gt; y Digital Selling.&lt;/p&gt;
					&lt;a href=&quot;https://www.linkedin.com/company/leader-selling/&quot;&gt;&lt;img src=&quot;data:image/svg+xml,%3Csvg%20xmlns=&amp;#39;http://www.w3.org/2000/svg&amp;#39;%20viewBox=&amp;#39;0%200%20955%20249&amp;#39;%3E%3C/svg%3E&quot; alt=&quot;Síguenos en  Linkedin&quot; title=&quot;&quot;/&gt;&lt;/a&gt;
					&lt;p&gt;Déjanos tus dudas, comentarios y sugerencias.&lt;/p&gt;
					&lt;p&gt;&lt;strong&gt;Este post es para ti queremos hablar de lo que tú quieres y necesitas saber.&lt;/strong&gt;&lt;/p&gt;
				&lt;/div&gt; 
			&lt;/div&gt; 
		&lt;/div&gt;
	&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Comparte Episodio 107. SEO Local ¿Cómo se hace, pero bien? en tus Redes Sociales&lt;/p&gt;</content:encoded>
</item>
<item>
<title>Oracle Cloud Free Tier 2026: Ainda Vale a Pena? Guia Completo + Alternativas | Home</title>
<link>https://www.lucasaguiar.xyz/oracle_cloud_free_tier/</link>
<enclosure type="image/jpeg" length="0" url="https://www.lucasaguiar.xyz/images/oracle_cloud_vps_thumb.png"></enclosure>
<guid isPermaLink="false">BAzOU1RyKaEHKKqwLiOXhrQZnJCD3a163ajn8w==</guid>
<pubDate>Fri, 23 Oct 2026 01:57:54 +0000</pubDate>
<description>O Oracle Cloud Always Free Tier ainda funciona em 2026? Guia completo com configuração passo a passo, Tailscale, Docker e alternativas gratuitas de VPS.</description>
<content:encoded>&lt;h2&gt;O problema&lt;/h2&gt;&lt;p&gt;Esta semana, tenho procurado soluções para usar domínios com minhas aplicações rodando em contêineres no meu servidor MacBook Pro. Sim, converti meu MacBook Pro em um servidor, pelo menos por enquanto. A primeira solução foi usar um Pi-Hole como DNS local e funciona bem, mas o problema é que tenho que especificar portas para acessar as aplicações e isso se torna irritante. A solução parecia simples o suficiente: criar um contêiner Nginx Proxy Manager (NPM), usá-lo para apontar para os contêineres na rede local e isso deveria resolver o problema. Bem, foi o que pensei.&lt;/p&gt;&lt;p&gt;Isso me levou a uma busca de três dias por uma solução porque tudo o que eu fazia não conseguia fazer o NPM direcionar o tráfego corretamente. Eventualmente, descobri que o problema estava com meu provedor de internet (ISP) e possivelmente com a configuração padrão de CG-NAT. Portanto, este texto é para o leitor que tentou o seguinte e não funcionou.&lt;/p&gt;&lt;h2&gt;Redirecionamento de Portas no Roteador&lt;/h2&gt;&lt;p&gt;Esta parecia ser a solução no início. Basta configurar o tráfego de entrada das portas 80 e 443 para ser redirecionado para as portas relacionadas no contêiner NPM, e então o NPM distribuiria o tráfego de acordo. Mas isso não funcionou.&lt;/p&gt;&lt;h2&gt;DMZ para o host executando NPM&lt;/h2&gt;&lt;p&gt;Esta é outra possível solução que também tentei e não funcionou. Eu vi isso em algum lugar, com um usuário explicando que usar a DMZ era essencialmente o mesmo que redirecionar portas para este host específico. Tentei e não funcionou.&lt;/p&gt;&lt;h2&gt;Configurar domínios e endereços IP&lt;/h2&gt;&lt;p&gt;Pensei que o principal problema poderia ser o fato de eu estar usando um subdomínio onde o domínio principal apontava para outros servidores e, por causa disso, não conseguia chegar ao host correto. Então configurei outro domínio (barato) para testar essa hipótese e também não funcionou.&lt;/p&gt;&lt;h2&gt;Cloud VPS&lt;/h2&gt;&lt;p&gt;Eventualmente, cheguei a este vídeo de &lt;a href=&quot;https://www.youtube.com/watch?v=2fA6u9eahNw&amp;amp;t=562s&amp;amp;pp=ygUScmFpZCBvd2wgY2xvdWQgdnBz&quot;&gt;Raid Owl&lt;/a&gt; no YouTube que me abriu os olhos para a solução definitiva para este problema. Veja bem, eu poderia ter ligado para o ISP e verificado com eles o que estava acontecendo e se eles poderiam arranjar algo do lado deles, mas bem, isso é cansativo. Em vez disso, esta solução parecia óbvia depois de tantas tentativas e erros. O ISP está bloqueando as conexões de entrada para a rede, não sei como. Não consegui descobrir. O Cloudflare estava dando um erro 522, o que basicamente significa que não havia resposta do servidor. O servidor não estava recebendo tráfego. Então, significa que com a configuração de rede normal eu não conseguiria fazer isso funcionar.&lt;/p&gt;&lt;p&gt;A solução proposta por Raid Owl é usar um Cloud VPS como forma de obter acesso a outro endereço público, fora da minha rede local, e então tunelar o tráfego deste Cloud VPS para a máquina host executando contêineres na minha rede local. A solução, à primeira vista, parece funcionar, mas há custos potenciais envolvidos. Como tenho alguma experiência com Azure, sabia que não poderia executar uma máquina virtual lá 24 horas por dia, 7 dias por semana para este fim, talvez eu precisasse iniciar e desligar as máquinas automaticamente todos os dias… Após alguma pesquisa, encontrei a solução perfeita para este problema: Oracle Cloud.&lt;/p&gt;&lt;h2&gt;Oracle Cloud Free Tier&lt;/h2&gt;&lt;p&gt;O Oracle Cloud Free Tier é uma maneira de obter acesso a máquinas virtuais com Linux que são sempre gratuitas para usar. Para este uso específico é perfeito, já que a quantidade de tráfego é limitada.&lt;/p&gt;&lt;p&gt;A configuração é direta, e como Raid Owl faz um trabalho perfeito ao explicar todos os passos para isso, serei breve.&lt;/p&gt;&lt;p&gt;Primeiro, depois de criar uma instância no Oracle Cloud, você precisa redirecionar as portas 80, 81 e 443. Essas são as portas que precisam estar abertas para que o tráfego chegue ao contêiner NPM. Após configurar isso, vá para a instância e instale o Docker e todos os outros pacotes relacionados, como o Docker Compose. Para os detalhes sobre esses passos, estou deixando os links nas referências. Além disso, configure o Tailscale dentro da instância (também nos links abaixo). Então, depois que tudo estiver configurado, o que você quer ter é uma conexão Tailscale dentro desta nova instância. A conexão Tailscale dará acesso à máquina host dentro da sua rede local porque essa máquina também estará executando um daemon Tailscale.&lt;/p&gt;&lt;p&gt;O NPM será configurado como o proxy reverso da sua rede local enquanto ele está fisicamente em um datacenter da Oracle em algum lugar. Todo o tráfego de entrada que é direcionado para o endereço público desta instância no Oracle Cloud será canalizado para o NPM, que terá proxies para serviços que estão sendo executados dentro da sua rede local. Como o Tailscale está dentro desta instância Oracle, ele será configurado para &lt;code&gt;--accept-routes&lt;/code&gt;, o que significa que receberá o tráfego de entrada e o enviará para o que estiver na rede que é &lt;code&gt;--advertise-routes=&amp;lt;ip-adress&amp;gt;&lt;/code&gt;. Todo esse tráfego será enviado usando a sua tailnet para a sua rede local. No meu caso, decidi usar um contêiner Tailscaled como host para anunciar as rotas para sub-redes específicas.&lt;/p&gt;&lt;p&gt;Esta é uma visão geral deste problema e como o resolvi. Existem muitos pequenos passos para fazê-lo funcionar, mas se você quiser testar suas habilidades ou simplesmente não quiser verificar com o ISP se este é o problema deles, você pode usar esta estratégia.&lt;/p&gt;&lt;h2&gt;Links de referência&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=GarMdDTAZJo&amp;amp;t=10s&amp;amp;pp=ygUMcmFpZCBvd2wgdnBz&quot;&gt;Raid Owl: configurando NPM na rede local e certificados SSL&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=yWVD6qmQrb8&quot;&gt;Tony Teaches Tech: configurando instâncias e redirecionamento de portas no Oracle Cloud&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=bFZurhL14LA&quot;&gt;Fabricio Veronez: Proxy reverso Nginx e como funciona (PT-BR)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=SELkrrexIkQ&amp;amp;t=4s&quot;&gt;Sauber Lab: Como obter certificados SSL com NPM (PT-BR)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://dev.to/kylejschwartz/install-docker-compose-on-oracle-linux-8-1kb0&quot;&gt;Dev.to: Instalar Docker e Docker Compose no Oracle Linux 8&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://nginxproxymanager.com/setup/#using-mysql-mariadb-database&quot;&gt;Nginx Proxy Manager: configurações padrão com Docker Compose&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://tailscale.com/learn/ssh-into-docker-container&quot;&gt;Tailscale SSH em contêineres&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://tailscale.com/kb/1117/install-oracle-linux-8&quot;&gt;Tailscale no Oracle Linux 8&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://tailscale.com/kb/1019/subnets&quot;&gt;Roteadores de sub-rede Tailscale&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.oracle.com/br/cloud/sign-in.html&quot;&gt;Oracle Cloud&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;Conclusão&lt;/h2&gt;&lt;p&gt;Espero que este artigo tenha sido útil para alguns de vocês que estão tentando expor alguma aplicação interna ao tráfego externo, mas não conseguem devido a algumas configurações do provedor de internet (ISP).&lt;/p&gt;&lt;p&gt;Leia também:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://www.lucasaguiar.xyz/pt/posts/newsletter-beehiiv-cloudflare-github/&quot;&gt;Guia Completo: Como Integrar o Beehiiv ao Hugo via Cloudflare Workers&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.lucasaguiar.xyz/NixOS-fix-virtual-machine/&quot;&gt;NixOS - Máquina Virtual usando QEMU&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://www.lucasaguiar.xyz/pt/posts/troubleshooting-proxmox-login-interface/&quot;&gt;Proxmox Login Falhou? Corrija ‘authentication failure’ 401 e Erro ’no ticket’ [2026]&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;hr/&gt;&lt;p&gt;Você pode entrar em contato comigo sobre este e outros tópicos no meu e-mail &lt;strong&gt;&lt;a href=&quot;https://www.lucasaguiar.xyz/cdn-cgi/l/email-protection#385b57564c595b4c78544d5b594b595f4d51594a16404142&quot;&gt;&lt;span&gt;[email protected]&lt;/span&gt;&lt;/a&gt;&lt;/strong&gt; ou preenchendo o formulário abaixo.&lt;/p&gt;</content:encoded>
</item>
<item>
<title>iPhone Duo and Safari</title>
<link>https://mjtsai.com/blog/2026/10/22/iphone-duo-and-safari/</link>
<guid isPermaLink="false">EZFOK-3zSLMgX5ZKJZMGneoun5hemaWicfjfWA==</guid>
<pubDate>Thu, 22 Oct 2026 20:09:00 +0000</pubDate>
<description>Mike Piontek (Mastodon): A year ago I wrote that Safari 26 and Liquid Glass have little respect for web sites and unfortunately this hasn’t changed. […] It’s unclear to me why Apple is not opting to treat the iPhone Duo toolbar as a safe area. I have not come across anything discussing their reasons nor […]</description>
<content:encoded>&lt;p&gt;&lt;a href=&quot;https://mikepiontek.com/journal/iphone-duo-safari.html&quot;&gt;Mike Piontek&lt;/a&gt; (&lt;a href=&quot;https://xoxo.zone/@robotspacer/117401676816657137&quot;&gt;Mastodon&lt;/a&gt;):&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;A year ago I wrote that &lt;a href=&quot;https://mikepiontek.com/journal/safari-26-and-liquid-glass.html&quot;&gt; Safari 26 and Liquid Glass have little respect for web sites&lt;/a&gt; and unfortunately this hasn’t changed.&lt;/p&gt;&lt;p&gt;[…]&lt;/p&gt;&lt;p&gt;It’s unclear to me why Apple is not opting to treat the iPhone Duo toolbar as a safe area. I have not come across anything discussing their reasons nor educating web developers on the best way to design for this device.&lt;/p&gt;&lt;p&gt;[…]&lt;/p&gt;&lt;p&gt;Apple has decided to examine my web page and pick out a color to use for their toolbar. The process they use to determine this color is complex and not documented.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Previously:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://mjtsai.com/blog/2026/09/11/developing-for-iphone-duo/&quot;&gt;Developing for iPhone Duo&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://mjtsai.com/blog/2026/09/09/iphone-duo/&quot;&gt;iPhone Duo&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</content:encoded>
</item>
<item>
<title>La Turquie ferme les réseaux sociaux aux moins de 15 ans, et sa méthode change tout</title>
<link>https://www.lesactusdunet.com/2026/10/21/la-turquie-ferme-les-reseaux-sociaux-aux-moins-de-15-ans-et-sa-methode-change-tout/</link>
<guid isPermaLink="false">0CRfSJcG3t2wCF_jR2EST8E_hasf8XyBXaE_tg==</guid>
<pubDate>Thu, 22 Oct 2026 12:52:47 +0000</pubDate>
<description>C’est voté, c’est publié, ça s’applique. La Turquie vient de poser au Journal officiel, le 10 octobre, le règlement qui interdit les réseaux sociaux aux … L’article La Turquie ferme les réseaux sociaux aux moins de 15 ans, et sa méthode change tout est apparu en premier sur Les Actus du Net.</description>
<content:encoded>&lt;p&gt;C’est voté, c’est publié, ça s’applique. La Turquie vient de poser au Journal officiel, le 10 octobre, le règlement qui interdit &lt;a href=&quot;https://www.youhou.fr/reseaux-sociaux-les-bienfaits-dune-semaine-de-pause/&quot;&gt;les réseaux sociaux&lt;/a&gt; aux moins de 15 ans. Entrée en vigueur le 1er novembre. La loi, elle, avait été adoptée dès avril, dans la foulée d’une fusillade dans une école, et le pays passe maintenant à l’exécution.&lt;/p&gt;&lt;p&gt;Le périmètre est large. Instagram, Facebook, X, TikTok, Snapchat, YouTube, WhatsApp, Telegram, Discord, Reddit : à peu près tout ce que votre ado ouvre dans une journée tombe sous le coup du texte. Les plateformes ont l’obligation de vérifier l’âge à l’inscription et de refouler les moins de 15 ans. Pour les comptes déjà créés, le ménage devra être terminé avant le 31 mars 2027.&lt;/p&gt;&lt;p&gt;Le vrai sujet, c’est la manière. Plutôt que de demander à TikTok ou Meta de scanner une pièce d’identité, Ankara passe par e-Devlet, son portail administratif officiel. L’internaute récupère un jeton qui confirme simplement qu’il a l’âge requis, 15 ou 18 ans selon les cas, sans livrer son nom ni sa date de naissance exacte à la plateforme. Une façon de faire respecter la règle sans transformer chaque réseau social en guichet de papiers d’identité. Sur le principe, c’est plutôt bien pensé.&lt;/p&gt;&lt;p&gt;Pour les 15-17 ans, l’accès reste ouvert mais sérieusement bridé. Comptes privés obligatoires, impossible de repasser en public, pas de messages venus de comptes non suivis. Le scroll infini saute, la publicité ciblée aussi, tout comme le profilage comportemental et le direct. Même les captures d’écran sont bloquées. On garde les réseaux, mais on retire les ressorts qui scotchent.&lt;/p&gt;&lt;div&gt;&lt;img src=&quot;https://m.media-amazon.com/images/I/61xDh8THTTL._SL1186_.jpg&quot; alt=&quot;Doser les écrans en famille&quot; title=&quot;&quot;/&gt;&lt;div&gt;&lt;p&gt;Si la question du temps d’écran des ados vous travaille, ce guide propose une méthode concrète pour reprendre la main à la maison.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.amazon.fr/dp/241204760X?tag=pingoopark-21&quot;&gt;&lt;strong&gt;Doser les écrans en famille&lt;/strong&gt;&lt;/a&gt;&lt;a href=&quot;https://www.amazon.fr/dp/241204760X?tag=pingoopark-21&quot;&gt;→ voir sur Amazon&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Lien affilié Amazon. En tant que Partenaire Amazon, je réalise un bénéfice sur les achats remplissant les conditions requises.&lt;/em&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Côté bâton, la Turquie ne plaisante pas : jusqu’à 3 % du chiffre d’affaires mondial d’amende, interdictions publicitaires et bridage de la bande passante pour les récalcitrants. De quoi faire réfléchir même un géant américain.&lt;/p&gt;&lt;p&gt;Et nous, dans tout ça ? &lt;a href=&quot;https://www.lesactusdunet.com/2026/07/26/la-france-interdit-les-reseaux-sociaux-avant-15-ans-et-il-va-falloir-prouver-votre-age/&quot;&gt;La France&lt;/a&gt; avait tenté un texte voisin, mais le Conseil constitutionnel l’a censuré le 14 août, lui reprochant de ne pas distinguer les services et d’oublier le rôle des parents. L’Australie, elle, interdit l’accès aux moins de 16 ans depuis décembre 2025 et peine toujours à le faire appliquer. Le Danemark prépare un seuil à 13 ans avec feu vert parental.&lt;/p&gt;&lt;p&gt;Reste la vraie question, celle que personne ne tranche vraiment : un ado motivé contourne un blocage en quelques minutes. Le jeton e-Devlet tiendra-t-il la route ? On verra au 1er novembre.&lt;/p&gt;&lt;p&gt;Crédit photo : Illustration générée par IA&lt;/p&gt;&lt;p&gt;L’article &lt;a href=&quot;https://www.lesactusdunet.com/2026/10/21/la-turquie-ferme-les-reseaux-sociaux-aux-moins-de-15-ans-et-sa-methode-change-tout/&quot;&gt;La Turquie ferme les réseaux sociaux aux moins de 15 ans, et sa méthode change tout&lt;/a&gt; est apparu en premier sur &lt;a href=&quot;https://www.lesactusdunet.com&quot;&gt;Les Actus du Net&lt;/a&gt;.&lt;/p&gt;</content:encoded>
</item>
<item>
<title>Attal veut pouvoir couper certains réseaux sociaux pendant les émeutes, le Conseil d’État lui a déjà dit non</title>
<link>https://www.lesactusdunet.com/2026/10/21/attal-veut-pouvoir-couper-certains-reseaux-sociaux-pendant-les-emeutes-le-conseil-detat-lui-a-deja-dit-non/</link>
<guid isPermaLink="false">dUw6raRT0yoZvcR5OgXBnT7tLWT56HYpMjBHQQ==</guid>
<pubDate>Thu, 22 Oct 2026 12:52:47 +0000</pubDate>
<description>Gabriel Attal a relancé lundi 19 octobre une idée qui revient à chaque flambée de violences : donner à l’État le pouvoir de bloquer temporairement … L’article Attal veut pouvoir couper certains réseaux sociaux pendant les émeutes, le Conseil d’État lui a déjà dit non est apparu en premier sur Les Actus du Net.</description>
<content:encoded>&lt;p&gt;Gabriel Attal a relancé lundi 19 octobre une idée qui revient à chaque flambée de violences : donner à l’État le pouvoir de bloquer temporairement l’accès à certaines plateformes. Le candidat Renaissance à la présidentielle vise les réseaux sociaux, qu’il juge responsables d’une bonne partie des débordements observés le week-end du 17 octobre.&lt;/p&gt;&lt;p&gt;Son raisonnement tient en quelques lignes. Selon lui, les phénomènes d’émeute se fabriquent en ligne : points de ralliement diffusés sur les applis, appels à se retrouver, effets de mimétisme qui poussent des gens à rejoindre le mouvement alors qu’ils n’avaient rien prévu. Couper le robinet le temps que ça retombe réglerait le problème à la source.&lt;/p&gt;&lt;p&gt;Dans les faits, il ne cite aucune plateforme précise. Pas de X, pas de TikTok, pas de Snapchat nommément. Et surtout, aucun blocage n’a été décidé pour l’instant : on parle d’un outil qu’il aimerait avoir, pas d’une mesure déjà sur la table.&lt;/p&gt;&lt;p&gt;Le problème, c’est qu’Attal a déjà essayé. Au printemps 2024, quand il était Premier ministre, il avait fait couper TikTok en Nouvelle-Calédonie pendant les troubles. Le &lt;a href=&quot;https://www.macarel.fr/starlink-en-france-ca-se-complique/&quot;&gt;Conseil d’État&lt;/a&gt; a retoqué la décision en 2025, estimant qu’elle portait une atteinte disproportionnée à la liberté d’expression. La juridiction n’admet une coupure que dans des circonstances vraiment exceptionnelles, et à trois conditions cumulées : que ce soit indispensable, limité dans le temps, et qu’aucune autre solution ne soit possible dans l’immédiat.&lt;/p&gt;&lt;div&gt;&lt;img src=&quot;https://m.media-amazon.com/images/I/71dbHrruVeL._SL1500_.jpg&quot; alt=&quot;La civilisation du poisson rouge&quot; title=&quot;&quot;/&gt;&lt;div&gt;&lt;p&gt;Pour prendre du recul sur l’emprise de &lt;a href=&quot;https://www.macarel.fr/ca-y-est-le-vpn-est-en-ligne-de-mire-du-gouvernement-francais/&quot;&gt;ces plateformes&lt;/a&gt;, l’essai de Bruno Patino sur le marche de l’attention reste une bonne porte d’entree.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.amazon.fr/dp/2253101257?tag=pingoopark-21&quot;&gt;&lt;strong&gt;La civilisation du poisson rouge&lt;/strong&gt;&lt;/a&gt;&lt;a href=&quot;https://www.amazon.fr/dp/2253101257?tag=pingoopark-21&quot;&gt;→ voir sur Amazon&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;Lien affilié Amazon. En tant que Partenaire Amazon, je réalise un bénéfice sur les achats remplissant les conditions requises.&lt;/em&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Autant dire que la fenêtre est étroite. À ça s’ajoute le règlement européen sur les services numériques, le fameux DSA, qui encadre sérieusement ce genre de coupure. Pour l’avocat Alexandre Archambault, un blocage décidé par la France supposerait de passer d’abord par un juge, ce qui vide largement de son sens l’idée d’une mesure prise dans l’urgence.&lt;/p&gt;&lt;p&gt;Reste la question de fond, celle que tout le monde se pose dès qu’un gouvernement évoque l’extinction d’un service grand public. Qui décide ? Pendant combien de temps ? Et comment distinguer l’organisation d’un rassemblement violent du simple fait de commenter l’actualité ? Les émeutiers ne sont pas les seuls à utiliser ces applis, loin de là. Couper &lt;a href=&quot;https://www.lesactusdunet.com/2022/09/24/liran-restreint-lacces-aux-reseaux-sociaux/&quot;&gt;Instagram ou WhatsApp&lt;/a&gt; un soir de tension, c’est aussi priver des millions de gens d’un moyen de communication parfaitement banal.&lt;/p&gt;&lt;p&gt;Le débat, lui, ne risque pas de retomber de sitôt.&lt;/p&gt;&lt;p&gt;Crédit photo : &lt;a href=&quot;https://commons.wikimedia.org/wiki/File:Gabriel_Attal_2025_(close_crop).jpg&quot;&gt;Wikimedia Commons&lt;/a&gt;&lt;/p&gt;&lt;p&gt;L’article &lt;a href=&quot;https://www.lesactusdunet.com/2026/10/21/attal-veut-pouvoir-couper-certains-reseaux-sociaux-pendant-les-emeutes-le-conseil-detat-lui-a-deja-dit-non/&quot;&gt;Attal veut pouvoir couper certains réseaux sociaux pendant les émeutes, le Conseil d’État lui a déjà dit non&lt;/a&gt; est apparu en premier sur &lt;a href=&quot;https://www.lesactusdunet.com&quot;&gt;Les Actus du Net&lt;/a&gt;.&lt;/p&gt;</content:encoded>
</item>
<item>
<title>PHP2Shell</title>
<link>https://mjtsai.com/blog/2026/10/21/php2shell/</link>
<guid isPermaLink="false">jDRThD8s7k1wkYQpg5UIbrsduBbYF54gVoEMpw==</guid>
<pubDate>Thu, 22 Oct 2026 04:46:05 +0000</pubDate>
<description>Malwarebytes: If you’ve encountered websites in maintenance mode today, it may be a security precaution. Reports of attacks targeting two critical PHP vulnerabilities have prompted warnings to install emergency updates and consider temporarily taking affected services offline until they can be patched. […] Successful exploitation could let an attacker run malicious code on an affected […]</description>
<content:encoded>&lt;p&gt;&lt;a href=&quot;https://www.malwarebytes.com/blog/bugs/2026/10/php2shell-why-websites-are-going-offline-for-emergency-security-updates&quot;&gt;Malwarebytes&lt;/a&gt;:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;If you’ve encountered &lt;a href=&quot;https://www.bbc.com/news/articles/cmly0lg3w5x2o&quot;&gt;websites in maintenance mode&lt;/a&gt; today, it may be a security precaution.  Reports of attacks targeting two critical PHP vulnerabilities have prompted warnings to install emergency updates and consider temporarily taking affected services offline until they can be patched.&lt;/p&gt;&lt;p&gt;[…]&lt;/p&gt;&lt;p&gt;Successful exploitation could let an attacker run malicious code on an affected server without logging in. That code would run with the permissions available to the PHP process, potentially allowing attackers to steal application data, alter website content, or establish a &lt;a href=&quot;https://www.malwarebytes.com/backdoor&quot;&gt;backdoor&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;[…]&lt;/p&gt;&lt;p&gt;The PHP team scheduled its emergency security updates for October 21 at 10:00 am ET (14:00 UTC). It has now released fixes in &lt;strong&gt;PHP 8.5.12, 8.4.27, 8.3.36, and 8.2.35&lt;/strong&gt;, and urges users to update immediately. Administrators should check with their hosting provider or operating system vendor for the appropriate updated packages.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://tidbits.com/2026/10/21/php2shell-vulnerabilities-put-70-of-websites-at-risk/&quot;&gt;Adam Engst&lt;/a&gt;:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Expect to see numerous websites go down or serve “Page not found” errors as they update PHP, the programming language that underpins 70% of websites. If you run a WordPress, Drupal, or Joomla site, this affects you directly.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://pxlnv.com/linklog/php-rce-exploit/&quot;&gt;Nick Heer&lt;/a&gt;:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Word &lt;a href=&quot;https://news.ycombinator.com/item?id=50167754&quot;&gt;on the street&lt;/a&gt; is that these exploits have leaked, and that remote code can likely be executed all the way back to PHP 5. If you have access to your website’s &lt;code&gt;php.ini&lt;/code&gt; file, it might be worth &lt;a href=&quot;https://news.ycombinator.com/item?id=50167754#50175009&quot;&gt;turning off multipart uploads&lt;/a&gt; for now.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://www.vincentschmalbach.com/cve-2026-109618-and-cve-2026-109619-what-you-should-do-now/&quot;&gt;Vincent Schmalbach&lt;/a&gt;:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Two changes reduce the risk until the fixed versions are out. They were checked against PHP’s source code and the PHP manual, but they are not an official PHP mitigation. When someone suggested that turning off session upload progress might be enough, PHP core developer Gina Peter Banyard &lt;a href=&quot;https://phpc.social/@Girgias/117476477429221001&quot;&gt;replied&lt;/a&gt;, “The only thing I can say is that the only mitigation is patching / upgrading PHP. I sadly know too much.” Use the stopgaps to lower the risk for a few hours, and update PHP as soon as the fixed builds exist.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Add to &lt;tt&gt;php.ini&lt;/tt&gt;:&lt;/p&gt;&lt;pre&gt;session.upload_progress.enabled = Off&lt;/pre&gt;&lt;p&gt;Add to &lt;tt&gt;.htaccess&lt;/tt&gt;:&lt;/p&gt;&lt;pre&gt;&amp;lt;If &amp;quot;req(&amp;#39;Content-Type&amp;#39;) =~ /multipart/i&amp;quot;&amp;gt;
    Require all denied
&amp;lt;/If&amp;gt;&lt;/pre&gt;</content:encoded>
</item>
<item>
<title>Ofcom Concedes Defeat in 4chan Case</title>
<link>https://mjtsai.com/blog/2026/10/21/ofcom-concedes-defeat-in-4chan-case/</link>
<guid isPermaLink="false">exPFMxWXyjjsIUSVYvfcpYCh34nVFAA_rlNzEQ==</guid>
<pubDate>Thu, 22 Oct 2026 04:46:05 +0000</pubDate>
<description>Guido Fawkes: Ofcom boss Dame Melanie Dawes has admitted today that tech firms have paid just two of the eleven fines handed out under the Online Safety Act since March last year. Giving evidence to the Culture, Media and Sport Committee, she conceded nine remain unpaid, four of the offending sites have simply geo-blocked the […]</description>
<content:encoded>&lt;p&gt;&lt;a href=&quot;https://order-order.com/2026/10/20/ofcom-admits-it-has-failed-to-collect-most-online-safety-fines/&quot;&gt;Guido Fawkes&lt;/a&gt;:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Ofcom boss Dame Melanie Dawes has admitted today that tech firms have paid just two of the eleven fines handed out under the Online Safety Act since March last year. Giving evidence to the Culture, Media and Sport Committee, she conceded nine remain unpaid, four of the offending sites have simply geo-blocked the UK, and three are still up and running with nothing changed.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Via &lt;a href=&quot;https://prestonbyrne.com/2026/10/20/ofcom-concedes-defeat/&quot;&gt;Preston Byrne&lt;/a&gt; (&lt;a href=&quot;https://news.ycombinator.com/item?id=50167028&quot;&gt;Hacker News&lt;/a&gt;):&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;American courts have, by now, provided their preliminary view on the likelihood of Ofcom’s enforcement powers being successful in U.S. courts – the &lt;a href=&quot;https://prestonbyrne.com/2026/09/18/engage-w-ofcom/&quot;&gt;&lt;em&gt;obiter dicta&lt;/em&gt; in &lt;em&gt;4chan v. Ofcom&lt;/em&gt;&lt;/a&gt;, the opinion in the case we filed against Ofcom in the federal District Court for the District of Columbia a little over a year ago.&lt;/p&gt;&lt;p&gt;[…]&lt;/p&gt;&lt;p&gt;Ofcom can’t enforce the Online Safety Act in America. Ofcom knows it, Ofcom has known it for a long time, and now, Ofcom has, finally, admitted it.&lt;/p&gt;&lt;p&gt;[…]&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://prestonbyrne.com/granite/&quot;&gt;The GRANITE Act&lt;/a&gt;, a foreign censorship shield now before both the House and Senate (&lt;a href=&quot;https://www.congress.gov/bill/119th-congress/house-bill/10174?hl=GRANITE&amp;amp;s=1&amp;amp;r=1&quot;&gt;H.R. 10174&lt;/a&gt; / &lt;a href=&quot;https://www.congress.gov/bill/119th-congress/senate-bill/5478?hl=GRANITE+Act&amp;amp;s=1&amp;amp;r=2&quot;&gt;S. 5478&lt;/a&gt;), is one proposed legal response America could adopt. The HOMEFRONT Act, &lt;a href=&quot;https://www.congress.gov/bill/119th-congress/house-bill/10309?hl=homefront&amp;amp;s=2&amp;amp;r=2&quot;&gt;H.R. 10309&lt;/a&gt;, is another. Either of GRANITE or HOMEFRONT would strip sovereign immunity from foreign censors and let Americans targeted by their orders drag those agencies into federal court, where they could be held accountable for their actions.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Previously:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://mjtsai.com/blog/2026/01/13/uk-child-protections-and-messaging-backdoor/&quot;&gt;UK Child Protections and Messaging Backdoor&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://mjtsai.com/blog/2025/10/29/imgur-blocks-uk-users-over-age-verification/&quot;&gt;Imgur Blocks UK Users Over Age Verification&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://mjtsai.com/blog/2025/07/28/uk-online-safety-act/&quot;&gt;UK Online Safety Act&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://mjtsai.com/blog/2023/08/24/u-k-proposal-to-weaken-messaging-security/&quot;&gt;UK Proposal to Weaken Messaging Security&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</content:encoded>
</item>
<item>
<title>Instagram Charging for Links</title>
<link>https://mjtsai.com/blog/2026/10/12/instagram-charging-for-links/</link>
<guid isPermaLink="false">-7MpqTv1TAkmowqusIYazGFtFkhJ0Wo66-I-zA==</guid>
<pubDate>Thu, 22 Oct 2026 04:46:05 +0000</pubDate>
<description>Meta: If you subscribe to a Meta One plan, you can add links to a set number of posts and reels each month based on your plan:Meta One Advanced plan: up to 4 posts and 4 reels with links per monthMeta One Expert plan: up to 8 posts and 8 reels with links per monthMeta […]</description>
<content:encoded>&lt;p&gt;&lt;a href=&quot;https://www.meta.com/help/subscriptions/1121274400471172/&quot;&gt;Meta&lt;/a&gt;:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;If you subscribe to a Meta One plan, you can add links to a set number of posts and reels each month based on your plan:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Meta One Advanced plan: up to 4 posts and 4 reels with links per month&lt;/li&gt;&lt;li&gt;Meta One Expert plan: up to 8 posts and 8 reels with links per month&lt;/li&gt;&lt;li&gt;Meta One Max plan: up to 12 posts and 12 reels with links per month&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;&lt;p&gt;Via &lt;a href=&quot;https://pxlnv.com/linklog/meta-link-paywall/&quot;&gt;Nick Heer&lt;/a&gt;:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Instagram has never supported links of any kind in individual posts, so that is a new feature with two links per month permitted for free, and more enabled by this pricey subscription — starting at &lt;a href=&quot;https://www.meta.com/meta-one-plans/#creator&quot;&gt;$50 USD per month&lt;/a&gt; for four posts per month containing external links. But links in Reels have been commonplace for years. Meta is now gating that, too; and there is more.&lt;/p&gt;&lt;p&gt;[…]&lt;/p&gt;&lt;p&gt;Meta seems to have two objectives here: to take a cut from businesses that use Meta’s services as a referral source more generally, and — more specifically — to capture some of the money made by influencers.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Requiring login, removing RSS, discouraging links. Things are not looking good for the open Web.&lt;/p&gt;&lt;p&gt;Previously:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://mjtsai.com/blog/2026/10/06/reddit-to-remove-rss/&quot;&gt;Reddit to Remove RSS&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://mjtsai.com/blog/2023/07/03/twitter-now-requires-logging-in/&quot;&gt;Twitter Now Requires Logging In&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://mjtsai.com/blog/2022/03/17/link-in-bio-is-apparently-a-billion-dollar-business/&quot;&gt;“Link in Bio” Is Apparently a Billion-Dollar Business&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://mjtsai.com/blog/2019/12/12/link-in-bio-is-a-slow-knife/&quot;&gt;“Link in Bio” Is a Slow Knife&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;</content:encoded>
</item>
<item>
<title>Reddit to Remove RSS</title>
<link>https://mjtsai.com/blog/2026/10/06/reddit-to-remove-rss/</link>
<guid isPermaLink="false">JUiBAEnTnt2VGoqNqNPNn9LceoxFEImjz-uMgA==</guid>
<pubDate>Thu, 22 Oct 2026 04:46:04 +0000</pubDate>
<description>Jeff Johnson (June): This new RSS rate limiting was perhaps foreshadowed by an r/modnews post a couple of weeks ago[…] judy-funnie (September, via Jeff Johnson): Because RSS is now a common surface for large-scale scraping and automated abuse, we&#39;ll stop supporting RSS feeds on November 13, 2026 while preserving moderation workflows that depend on it […]</description>
<content:encoded>&lt;p&gt;&lt;a href=&quot;https://lapcatsoftware.com/articles/2026/6/3.html&quot;&gt;Jeff Johnson&lt;/a&gt; (June):&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;This new RSS rate limiting was perhaps foreshadowed by an &lt;a href=&quot;https://www.reddit.com/r/modnews/comments/1tq9vxo/protecting_communities_from_scrapers_and_platform/&quot;&gt;r/modnews&lt;/a&gt; post a couple of weeks ago[…]&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://www.reddit.com/r/modnews/comments/1wubgvt/continuing_our_infrastructure_updates_whats/&quot;&gt;judy-funnie&lt;/a&gt; (September, via &lt;a href=&quot;https://mastodon.social/@lapcatsoftware/117361408998812574&quot;&gt;Jeff Johnson&lt;/a&gt;):&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Because RSS is now a common surface for large-scale scraping and automated abuse, we&amp;#39;ll stop supporting RSS feeds on November 13, 2026 while preserving moderation workflows that depend on it through supported alternatives.&lt;/p&gt;&lt;p&gt;[…]&lt;/p&gt;&lt;p&gt;To close this gap, in the next few months, we&amp;#39;ll further limit access [to Old Reddit] for logged-in users to only those who have used Old Reddit in the last six months (which covers the vast majority of all Old Reddit users).&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://thenextweb.com/news/reddit-rss-feeds-shut-down-old-reddit-ai-scraping&quot;&gt;Ana Maria Constantin&lt;/a&gt;:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Public API access ends in March 2027, Reddit said in a &lt;a href=&quot;https://www.reddit.com/r/redditdev/comments/1wubcvf/moving_data_api_apps_to_the_developer_platform/&quot;&gt;separate post&lt;/a&gt; for developers. It will stop accepting new API requests on 31 October. From 12 January, it will start cutting off apps that have not registered.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://lapcatsoftware.com/articles/2026/10/1.html&quot;&gt;Jeff Johnson&lt;/a&gt;:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Since I use RSS to follow Reddit, I intend to discontinue my Reddit use on November 13, unless Reddit backtracks on their user-hostile decision to drop RSS.&lt;/p&gt;&lt;p&gt;[…]&lt;/p&gt;&lt;p&gt;My biggest regret in leaving Reddit is that I‘ll have to shut down &lt;a href=&quot;https://www.reddit.com/r/StopTheMadnessSupport/&quot;&gt;my product support subreddit&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;[…]&lt;/p&gt;&lt;p&gt;The most ridiculous part of Reddit’s announcement was the suggestion that subreddit moderators replace RSS feeds with Discord notifications. What perversity, insanity to recommend a competing social network as the only practical way to use yours! I’m also skeptical of Reddit’s public excuse for dropping RSS: bot scraping. As I noted back in June, &lt;a href=&quot;https://lapcatsoftware.com/articles/2026/6/3.html&quot;&gt;Reddit is already rate-limiting RSS feeds&lt;/a&gt;. If the current limits are insufficient, why not impose stricter limits? &lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://www.goldenhillsoftware.com/2026/09/reddit-is-removing-their-rss-feeds/&quot;&gt;John Brayton&lt;/a&gt;:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;I am disappointed because I know that many Unread customers use Reddit’s RSS feeds to keep up with subreddits.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://techcrunch.com/2026/09/30/reddit-is-killing-rss-feeds-ending-public-api-access-because-of-ai-bots/&quot;&gt;Sarah Perez&lt;/a&gt;:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Moderators have already expressed worry about how this shift would impact their workflow. When Reddit &lt;a href=&quot;https://www.reddit.com/r/modnews/comments/1tq9vxo/protecting_communities_from_scrapers_and_platform/&quot;&gt;hinted earlier&lt;/a&gt; that it was preparing for the end of RSS on its site, many &lt;a href=&quot;https://www.reddit.com/r/rss/comments/1tqpf5r/reddit_officially_admits_to_prepping_the_end_of/&quot;&gt;responded&lt;/a&gt; by complaining that Reddit would become unmanageable for them. Meanwhile, many users stressed that RSS was how they enjoyed accessing Reddit’s content.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Previously:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://mjtsai.com/blog/2026/07/03/old-reddit-now-requires-logging-in/&quot;&gt;Old Reddit Now Requires Logging In&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://mjtsai.com/blog/2026/05/08/reddit-pushes-web-visitors-to-app/&quot;&gt;Reddit Pushes Web Visitors to App&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://mjtsai.com/blog/2025/08/12/reddit-will-block-the-internet-archive/&quot;&gt;Reddit Will Block the Internet Archive&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://mjtsai.com/blog/2024/02/27/reddit-ai-training-data-and-ipo/&quot;&gt;Reddit AI Training Data and IPO&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://mjtsai.com/blog/2023/06/08/apollo-shutting-down-june-30th/&quot;&gt;Apollo Shutting Down June 30th&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Update (2026-10-07): &lt;a href=&quot;https://www.goldenhillsoftware.com/2026/10/correction-regarding-reddits-rss-feed-shutdown/&quot;&gt;John Brayton&lt;/a&gt;:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;I overlooked the fact that Feedly uses Reddit’s API to retrieve articles from subreddits. The folks at Feedly expect this functionality to continue working after Reddit removes their feeds.&lt;/p&gt;&lt;/blockquote&gt;</content:encoded>
</item>
<item>
<title>Michael Tsai - Blog - Passkeys Attestation Trap</title>
<link>https://mjtsai.com/blog/2026/10/15/passkeys-attestation-trap/</link>
<guid isPermaLink="false">6OIukay_jFN8MTHS4b3WNIJXePDfX8AuxIgtsw==</guid>
<pubDate>Thu, 22 Oct 2026 04:45:46 +0000</pubDate>
<description>Passkeys Attestation Trap</description>
<content:encoded>&lt;h1&gt;&lt;a href=&quot;https://mjtsai.com/blog/2026/10/15/passkeys-attestation-trap/&quot;&gt;Passkeys Attestation Trap&lt;/a&gt;&lt;/h1&gt;&lt;p&gt;&lt;a href=&quot;https://nonfunctional.substack.com/p/passkeys-are-a-trap-do-not-use-them&quot;&gt;The Hack&lt;/a&gt; (&lt;a href=&quot;https://news.ycombinator.com/item?id=50048312&quot;&gt;Hacker News&lt;/a&gt;):&lt;/p&gt;&lt;blockquote&gt;
&lt;p&gt;Like the Trojan Horse, passkeys are legitimately elegant on the surface, but there is something troubling inside.&lt;/p&gt;
&lt;p&gt;What’s important to know is that unlike with any other kind of login credential, &lt;strong&gt;you do not have ultimate control over your passkeys&lt;/strong&gt;. With passwords, you can choose where to write them down; with authenticator apps, you can decide for yourself which ones to use (they’re pretty interchangeable); and with physical security keys you can hand them to your colleague if you really trust them. But with passkeys come a hidden dial that lets the websites you use them on gradually remove your ability to do as you please with them.&lt;/p&gt;
&lt;p&gt;[…]&lt;/p&gt;
&lt;p&gt;This is the feature that means you no longer get to make the calls about your passkeys. Fortunately, attested passkeys are not yet required on most websites. But the FIDO Alliance standard makes attestation a part of the passkey ecosystem, whether you want it or not. And even if the website doesn’t require attestation now, simply by using passkeys you indicate to the website that your setup supports the FIDO Alliance’s passkey standard and that you as a user &lt;em&gt;are capable&lt;/em&gt; of using passkeys. This means that once Twitter (formally X) is satisfied that the overwhelming majority of its users would be unaffected, they can flip the switch – perhaps not all at once, perhaps just for ten thousand users at a time so as not to cause a fuss – and start rejecting non-attested passkeys.&lt;/p&gt;
&lt;p&gt;[…]&lt;/p&gt;
&lt;p&gt;My expectation is that the industry will start off with very few constraints on your passkeys, and gradually add more and more, not all at the same time, but staggered on different sites, and then in a few years people will forget that they were ever offered a choice in which security measures they want to enable on their passkeys (if they even knew there were different kinds of passkeys at all).&lt;/p&gt;
&lt;p&gt;[…]&lt;/p&gt;
&lt;p&gt;Remote attestation can allow them to verify that your device is not capable of, say, sending and receiving encrypted messages, or running a competitor’s app, or using social media without verifying your ID.&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;Apple’s passkey implementation currently &lt;a href=&quot;https://news.ycombinator.com/item?id=50054170&quot;&gt;does not support attestation&lt;/a&gt;, but it sounds like this is &lt;a href=&quot;https://developer.apple.com/forums/thread/708982&quot;&gt;only until&lt;/a&gt; they can work out how to do syncing:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Attestation was designed to attest to a specific device, exclusively at the point of creation, with a specific set of security properties. It doesn’t make sense for synced credentials for a number of reasons, including syncing to devices with different security properties, changes in security properties that happen after key creation, security properties of the sync fabric, sharing the passkey, or exporting to other passkey providers. We’re working hard with W3C and FIDO to solve these problems.&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://hachyderm.io/@rmondello/117428258722253709&quot;&gt;Ricky Mondello&lt;/a&gt;:&lt;/p&gt;&lt;blockquote&gt;
&lt;p&gt;The post is predicated on the idea that a feature of WebAuthn called “attestation”, which is only used in high-assurance and usually corporate scenarios, and usually with physical hardware security keys, will be leveraged to hurt people, somehow.&lt;/p&gt;
&lt;p&gt;The post posits that a website like X will bait and switch users: first, you get a passkey. Then, later, scary “attested” passkeys! This simply isn’t possible to do because attestation isn’t supported on the web for mass market, consumer authentication.&lt;/p&gt;
&lt;p&gt;Attestation for passkeys (software-based, syncable credentials) is antithetical to their mass market goals, and would freeze out independent, non-corporate-backed credential managers. It’s an explicit non-goal of the designers of passkeys, who work together in a forum anyone can join.&lt;/p&gt;
&lt;p&gt;And trust me, websites and apps like banks repeatedly asked for attestation at the beginning of the industry’s passkey journey. The platforms, browsers, and credential management apps have held firm that the goal of passkeys is reducing phishing and &lt;em&gt;not&lt;/em&gt; some kind of trusted computing scheme. (And I will note: over my dead body!)&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;I believe this is not the goal of Mondello and some of the others working on this, but so far I’ve not been convinced that they will be able to control it. It sounds like Apple &lt;em&gt;is&lt;/em&gt; working on it, and once the technology is out there, what’s to prevent key sites from forcing it on users? It seems like all this would take is the cooperation of a few big credential managers. This would be to their benefit in the sense that it would make their products required. Smaller credential managers who resisted would be frozen out.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://cybersecurity.theater/@varx/117428884584457992&quot;&gt;varx&lt;/a&gt;:&lt;/p&gt;&lt;blockquote&gt;
&lt;p&gt;The fact that websites and apps have been &lt;em&gt;asking for attestation&lt;/em&gt; just reinforces the main point of the passkeys post! Sure, browsers aren’t supporting it yet, but that’s the sort of thing that can change, and the sort of thing that &lt;em&gt;has&lt;/em&gt; changed in the past. See the footnote on Widevine and Firefox. (“Currently not supported” is also very subject to change.)&lt;/p&gt;
&lt;p&gt;And we already have sites and apps allowlisting passkey vendors. That’s no theoretical, slippery slope fear -- it’s a real restriction on user freedoms that’s already happening right now.&lt;/p&gt;
&lt;p&gt;I don’t think that a couple of bad points (e.g. the TOTP thing) invalidate the main point of the post, because the post wasn’t an argument from authority. The author makes some good points that stand on their own.&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://hachyderm.io/@rmondello/117429023948255717&quot;&gt;Ricky Mondello&lt;/a&gt;:&lt;/p&gt;&lt;blockquote&gt;
&lt;p&gt;To be clear, the websites have stopped asking for attestation. Or at least, they’ve stopped asking me. Why? Because they know there’s no use in asking — that the OS vendors, browsers, and passkey managers are unified on this front. And now they’ve seen firsthand that passkeys without attestation are awesome and a big step forward.&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://fosstodon.org/@iinuwa/117430607802565433&quot;&gt;iinuwa&lt;/a&gt;:&lt;/p&gt;&lt;blockquote&gt;
&lt;p&gt;This is antithetical to users, as the types of authenticators that can pull this off are difficult to use (security keys). Companies with IT departments who can do account recovery for the user can handle this, an average user cannot. Synced passkeys are the answer to this for consumers and therefore attestation does not belong in the consumer space. Which is why password managers are in the spec groups pushing back against this every time it comes up.&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://scotthelme.co.uk/passkeys-are-not-a-trap/&quot;&gt;Scott Helme&lt;/a&gt; (&lt;a href=&quot;https://news.ycombinator.com/item?id=50088935&quot;&gt;Hacker News&lt;/a&gt;):&lt;/p&gt;&lt;blockquote&gt;
&lt;p&gt;If a consumer website decided tomorrow that it would only accept attested passkeys, it would lock out almost all of its own users, instantly. What website is going to do that?&lt;/p&gt;
&lt;p&gt;[…]&lt;/p&gt;
&lt;p&gt;If you’re worried about attestation creeping into consumer logins, then that’s worth pushing back on, loudly (if it ever happens). But it hasn’t happened, the biggest providers don’t support it, and avoiding passkeys today while you wait for it won’t protect you from anything, it just leaves you open to phishing.&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;It seems like rejecting passkeys is the only way the average user has to push back. The main thing protecting us is that sites don’t want to lock out their users who rely on passwords and 2FA. Once most people have adopted passkeys, if Apple and Google sell us out, I don’t think it matters much what the rest of the alliance thinks. Sites would be able to require attestation with the assurance that users could easily comply. Safari would probably opt everyone into attested passkeys, as it currently opts you into passkeys in general (unless you uncheck “Allow Automatic Passkey Upgrades”).&lt;/p&gt;&lt;p&gt;Previously:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://mjtsai.com/blog/2026/10/15/attestation-news/&quot;&gt;Attestation News&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mjtsai.com/blog/2026/09/24/locked-down-passkey-and-keychain-backups/&quot;&gt;Locked Down Passkey and Keychain Backups&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mjtsai.com/blog/2025/06/20/forcing-passkeys/&quot;&gt;Forcing Passkeys&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mjtsai.com/blog/2024/10/16/passkeys-credential-exchange/&quot;&gt;Passkeys Credential Exchange&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mjtsai.com/blog/2023/07/27/web-environment-integrity/&quot;&gt;Web Environment Integrity&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;a href=&quot;https://mjtsai.com/blog/tag/ios/&quot;&gt;iOS&lt;/a&gt; &lt;a href=&quot;https://mjtsai.com/blog/tag/ios-27/&quot;&gt;iOS 27&lt;/a&gt; &lt;a href=&quot;https://mjtsai.com/blog/tag/mac/&quot;&gt;Mac&lt;/a&gt; &lt;a href=&quot;https://mjtsai.com/blog/tag/macos-27/&quot;&gt;macOS 27 Golden Gate&lt;/a&gt; &lt;a href=&quot;https://mjtsai.com/blog/tag/passkeys/&quot;&gt;Passkeys&lt;/a&gt; &lt;a href=&quot;https://mjtsai.com/blog/tag/security/&quot;&gt;Security&lt;/a&gt; &lt;a href=&quot;https://mjtsai.com/blog/tag/two-factor-authentication-2fa/&quot;&gt;Two-Factor Authentication (2FA)&lt;/a&gt;&lt;/p&gt;&lt;h2&gt;
18 Comments 
 &lt;span&gt;&lt;a href=&quot;https://mjtsai.com/blog/2026/10/15/passkeys-attestation-trap/feed/&quot;&gt;RSS&lt;/a&gt; · &lt;a href=&quot;https://twitter.com/search?q=from%3Amjtsai%20since%3A2026-10-15%20until%3A2026-10-16&amp;amp;src=typed_query&amp;amp;f=top&quot;&gt;Twitter&lt;/a&gt; · &lt;a href=&quot;https://mastodon.social/@mjtsai/117446221846443321&quot;&gt;Mastodon&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;hr/&gt;&lt;div&gt;

&lt;div&gt;
	&lt;div&gt;Benjamin &lt;/div&gt;
	&lt;div&gt;October 15, 2026 2:08 PM &lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;p&gt;For all of the protestations to the contrary, about how passkeys are so great for preventing phishing and increasing password security they do seem to be a real trap that gives more power to corporations we have no control over and whose goals have been clearly shown not to align with users. Google is already using attestation to attack third party app stores and non-Google Android, I have zero confidence they would not do the same for passkeys. &lt;/p&gt;
&lt;p&gt;Generally I think the passkey supporters are well meaning but naive when it comes to their belief that corporations wont try and use them as another means of exerting control over their customers. Just look at App Store and CTF/CTC in the EU, I strongly doubt Apple will remain on the side of the angels forever.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;hr/&gt;&lt;div&gt;

&lt;div&gt;
	&lt;div&gt;Dan Shockley &lt;/div&gt;
	&lt;div&gt;October 15, 2026 3:10 PM &lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;p&gt;It’s kind of astounding that anyone who has paid even the slightest bit of attention over the past few decades (centuries? millennia?) would think that powerful institutions won’t take advantage of the ability to control and extract power from others when given even half a chance.&lt;br/&gt;
If it is possible for them to gradually tighten the screws and extract more power and money, they will.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;hr/&gt;&lt;div&gt;

&lt;div&gt;
	&lt;div&gt;Max Oakland &lt;/div&gt;
	&lt;div&gt;October 15, 2026 3:13 PM &lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;p&gt;I don&amp;#39;t use passkeys for this exact reason. Every single time there&amp;#39;s a way to increase lock-in or interfere with open standards, these companies do it. It&amp;#39;s not an *if* they do this, it&amp;#39;s a *when* they do this. But only if we let passkeys get too popular&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;hr/&gt;&lt;div&gt;

&lt;div&gt;
	&lt;div&gt;Sebby &lt;/div&gt;
	&lt;div&gt;October 15, 2026 11:21 PM &lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;p&gt;I guess I&amp;#39;m a useful idiot in that I take advantage of passkeys when available, but I store them in a KeePass database and KeePass is clearly on the side of the user. Of course I&amp;#39;ll be against the wall when attestation means I can&amp;#39;t do that anymore, at which point I (and BitWarden users too, presumably) will suddenly wake up and notice I&amp;#39;ve been boiled.&lt;/p&gt;
&lt;p&gt;Something to think about …&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;hr/&gt;&lt;div&gt;

&lt;div&gt;
	&lt;div&gt;Someone &lt;/div&gt;
	&lt;div&gt;October 15, 2026 11:27 PM &lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;p&gt;Ricky Mondello writing their own reputational epitaph there.&lt;/p&gt;
&lt;p&gt;&amp;quot;Ricky, thanks for joining us. We&amp;#39;ve decided to make Passkeys into handcuffs&amp;quot;&lt;br/&gt;
&amp;quot;Passkeys will become handcuffs over my dead body!&amp;quot;&lt;br/&gt;
*bang*&lt;br/&gt;
&amp;quot;ok, so next on the agenda&amp;quot;&lt;/p&gt;
&lt;p&gt;As for why vendors have stopped asking Ricky to make passkeys into handcuffs... the obvious explanation is they&amp;#39;re speaking to someone higher in the org.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;hr/&gt;&lt;div&gt;

&lt;div&gt;
	&lt;div&gt;Alex R &lt;/div&gt;
	&lt;div&gt;October 16, 2026 11:13 AM &lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;p&gt;I&amp;#39;m sorry, but all the anti passkey backlash is just conspiracy theories for technical people. Of course there are many things that *could* happen. A service could simply stop providing a website and require all access via apps, where they could do anything attestation does and more. But that doesn&amp;#39;t mean it&amp;#39;s going to happen.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;hr/&gt;&lt;div&gt;

&lt;div&gt;
	&lt;div&gt;Benjamin &lt;/div&gt;
	&lt;div&gt;October 16, 2026 12:00 PM &lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;p&gt;@Alex R&lt;/p&gt;
&lt;p&gt;We have seen over and over again how giving big companies the power to control something almost always leads them to trying to do so. For a long time Google androids attestation was also just a conspiracy and yet today Google is doing more and more to control android and prevent apps from working without Google’s approval. Any system where the specification allows for centralization of power is at risk and given the way the big companies who are pushing this have behaved in the last ten years it is quite clear they would like nothing better than yet another method to control us. Apple hasn’t released  a new open platform since Mac OS X cheetah back in 2000… that’s 26 years of closing down competition and locking things down.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;hr/&gt;&lt;div&gt;

&lt;div&gt;
	&lt;div&gt;Benjamin &lt;/div&gt;
	&lt;div&gt;October 16, 2026 12:02 PM &lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;p&gt;@Alex R&lt;br/&gt;
Follow up. The conspiracy could have been avoided if they had made the spec explicit about interoperability, standardization, and exclusion of centralized attestation. They didn’t do any of that.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;hr/&gt;&lt;div&gt;

&lt;div&gt;
	&lt;div&gt;Plume &lt;/div&gt;
	&lt;div&gt;October 16, 2026 2:41 PM &lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;p&gt;&amp;quot;Of course there are many things that *could* happen.&amp;quot;&lt;/p&gt;
&lt;p&gt;Experience shows that if companies *can* do something to lock people into their ecosystems and extract more money, they *will*. The only variable is how long it takes.&lt;/p&gt;
&lt;p&gt;That&amp;#39;s not a conspiracy theory. That&amp;#39;s observable reality.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;hr/&gt;&lt;div&gt;

&lt;div&gt;
	&lt;div&gt;Kristoffer &lt;/div&gt;
	&lt;div&gt;October 17, 2026 12:32 AM &lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;p&gt;Over started experimenting with account free apps, and I find it surprising how nice it feels when things like &amp;quot;your two lists of books, plus your favorite podcasts and all the settings you&amp;#39;ve done in the app&amp;quot; are expected and imported via a rather tiny file.&lt;/p&gt;
&lt;p&gt;And it saves me all the hassle of managing a user database.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;hr/&gt;&lt;div&gt;

&lt;div&gt;
	&lt;div&gt;Dan &lt;/div&gt;
	&lt;div&gt;October 17, 2026 9:44 AM &lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;p&gt;Depressing prospect. The only way out is user-friendly regulation. Let&amp;#39;s hope our elected representatives don&amp;#39;t screw us over.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;hr/&gt;&lt;div&gt;

&lt;div&gt;
	&lt;div&gt;Kristoffer &lt;/div&gt;
	&lt;div&gt;October 18, 2026 2:44 AM &lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;p&gt;Another way out is to not support this. To build apps that aren&amp;#39;t in the hands of a handful of SV companies run by craven old men. Up your things and leave. Make Enhsittification Resistant Software&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;hr/&gt;&lt;div&gt;

&lt;div&gt;
	&lt;div&gt;Plume &lt;/div&gt;
	&lt;div&gt;October 18, 2026 4:31 AM &lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;p&gt;&amp;gt; Up your things and leave&lt;/p&gt;
&lt;p&gt;Some people are seriously addicted to these platforms. For example, Gruber has now written multiple posts justifying his Twitter use, which clearly goes against his very public political opinions.&lt;/p&gt;
&lt;p&gt;Just telling people to leave these platforms doesn&amp;#39;t work. The underlying problem is a lack of antitrust regulation, which lets a small number of tech companies dictate these decisions to everyone else.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;hr/&gt;&lt;div&gt;

&lt;div&gt;
	&lt;div&gt;tim &lt;/div&gt;
	&lt;div&gt;October 18, 2026 3:03 PM &lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;p&gt;Plume: Gruber also recently wrote about how Apple contributed $25 million to the Trump ballroom and won&amp;#39;t vote for any democratic candidate who won&amp;#39;t promise to bulldoze it, but still buys all his computers from that same company that presented Trump with a gold trophy in the Oval Office.&lt;/p&gt;
&lt;p&gt;We are all a mess of contradictions.  Every tech product is one point in the infinitely-dimensioned potential product space.  Every large organization is a complex mess of decisions and ideologies and relationships.  Adam Smith and James Madison are long dead, and it&amp;#39;s no longer possible to use our dollar or our vote to express precisely what we want.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;hr/&gt;&lt;div&gt;

&lt;div&gt;
	&lt;div&gt;Kristoffer &lt;/div&gt;
	&lt;div&gt;October 19, 2026 4:33 AM &lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;p&gt;&amp;gt; Just telling people to leave these platforms doesn&amp;#39;t work. The underlying problem is a lack of antitrust regulation, which lets a small number of tech companies dictate these decisions to everyone else.&lt;/p&gt;
&lt;p&gt;I 100% agree. But we as developers can start looking for alternate ways of doing things. Just as people are putting free time towards becoming Microsoft MVP they can experiment with foss solutions, interoperability etc. &lt;/p&gt;
&lt;p&gt;We can chip in. We&amp;#39;re not helpless. But absolutely stronger consumer protections and antitrust laws. Those are the ones that really will create change.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;hr/&gt;&lt;div&gt;

&lt;div&gt;
	&lt;div&gt;Unabomber &lt;/div&gt;
	&lt;div&gt;October 19, 2026 3:00 PM &lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;p&gt;You guys are right, can’t help but agree. It’s a slippery slope.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;hr/&gt;&lt;div&gt;

&lt;div&gt;
	&lt;div&gt;Sören &lt;/div&gt;
	&lt;div&gt;October 20, 2026 3:04 PM &lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;p&gt;&amp;gt;Safari would probably opt everyone into attested passkeys, as it currently opts you into passkeys in general (unless you uncheck “Allow Automatic Passkey Upgrades”).&lt;/p&gt;
&lt;p&gt;Good reminder, thanks. Seems I have to opt out on each device, which may explain why some site (Google?) had decided &amp;quot;for me&amp;quot; (how nice) that I &amp;quot;want&amp;quot; to use a passkey.&lt;/p&gt;
&lt;p&gt;I get the benefits of passkeys (including, for example, making phishing much harder), but they feel like a loss of user control+autonomy to me. I can scribble a password on a piece of paper. I _shouldn&amp;#39;t_, but I can. I cannot meaningfully look at a passkey much less transport it without some intransparent API. It feels like a bridge too far.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;hr/&gt;&lt;div&gt;

&lt;div&gt;
	&lt;div&gt;Mark McConnell &lt;/div&gt;
	&lt;div&gt;October 21, 2026 10:31 PM &lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;&lt;p&gt;tim,&lt;/p&gt;
&lt;p&gt;We are not a &amp;quot;mess of contradictions.&amp;quot;  We are a &amp;quot;mess of monopolies&amp;quot; and a &amp;quot;mess of unenforced laws.&amp;quot;  Another way of saying this is just &amp;quot;corrupt.&amp;quot;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3&gt;Leave a Comment&lt;/h3&gt;</content:encoded>
</item>
<item>
<title>« On a un problème » : une faille de sécurité absurde met Internet en alerte</title>
<link>https://www.numerama.com/cyberguerre/2357519-on-a-un-probleme-une-faille-de-securite-absurde-met-internet-en-alerte.html</link>
<guid isPermaLink="false">A4UIiP7roxGvGBh3BkOmZICpn-wGCV9A1FtIsw==</guid>
<pubDate>Wed, 21 Oct 2026 08:55:01 +0000</pubDate>
<description>Huit clés privées de l’autorité de certification eMudhra étaient tellement faibles qu’elles pouvaient être retrouvées presque instantanément. Révélé le 20 octobre 2026, l’incident permet de fabriquer de faux certificats pour usurper l’identité de sites web auprès de logiciels vulnérables. Les principaux navigateurs ont réagi, mais les correctifs doivent encore atteindre de nombreux autres outils.</description>
<content:encoded>&lt;p&gt;&lt;img src=&quot;https://img.numerama.com/www.numerama.com/wp-content/uploads/2026/10/1-20.png?resize=1200,675&amp;amp;key=68dbb270&quot; alt=&quot;&quot; title=&quot;&quot;/&gt;&lt;/p&gt;&lt;p&gt;
Huit clés privées de l’autorité de certification eMudhra étaient tellement faibles qu’elles pouvaient être retrouvées presque instantanément. Révélé le 20 octobre 2026, l’incident permet de fabriquer de faux certificats pour usurper l’identité de sites web auprès de logiciels vulnérables. Les principaux navigateurs ont réagi, mais les correctifs doivent encore atteindre de nombreux autres outils.
&lt;/p&gt;</content:encoded>
</item>
<item>
<title>Après la découverte d’une faille dans PHP, une attaque massive pourrait se produire sur le web aujourd’hui</title>
<link>https://www.numerama.com/tech/2357537-php-deux-graves-failles-dexecution-de-code-a-distance-decouvertes-un-correctif-en-urgence-disponible-ce-mercredi.html</link>
<guid isPermaLink="false">GHKlpe4IJ2yOwOGeX-R6bVm9LEBXa6YG6ce63g==</guid>
<pubDate>Wed, 21 Oct 2026 08:55:01 +0000</pubDate>
<description>L&#39;équipe de sécurité de PHP publie ce mercredi 21 octobre des correctifs pour deux failles critiques notées 9,2 sur 10. La mise à jour de PHP est vivement conseillée.</description>
<content:encoded>&lt;p&gt;&lt;img src=&quot;https://img.numerama.com/www.numerama.com/wp-content/uploads/2026/10/php-faille.jpg?resize=1200,675&amp;amp;key=35febc41&quot; alt=&quot;&quot; title=&quot;&quot;/&gt;&lt;/p&gt;&lt;p&gt;
L&amp;#39;équipe de sécurité de PHP publie ce mercredi 21 octobre des correctifs pour deux failles critiques notées 9,2 sur 10. La mise à jour de PHP est vivement conseillée.
&lt;/p&gt;</content:encoded>
</item>
<item>
<title>Le merveilleux monde des dégénérés du Web3</title>
<link>https://www.jesuisundev.com/web3/</link>
<guid isPermaLink="false">IaSqVvy3ePig4e0e2QKnmP0mpaz2e4aokc6FSA==</guid>
<pubDate>Wed, 21 Oct 2026 03:32:10 +0000</pubDate>
<description>Nous sommes le 22 octobre 2021. Quelques jours après la fin de mon dernier article. On me promet toujours 500 000 euros en Ethereum. The post Le merveilleux monde des dégénérés du Web3 appeared first on Je suis un dev.</description>
<content:encoded>&lt;p&gt;Nous sommes le 22 octobre 2021. Quelques jours après la fin de mon dernier article. On me promet toujours 500 000 euros en Ethereum. &lt;/p&gt;&lt;p&gt;The post &lt;a href=&quot;https://www.jesuisundev.com/web3/&quot;&gt;Le merveilleux monde des dégénérés du Web3&lt;/a&gt; appeared first on &lt;a href=&quot;https://www.jesuisundev.com&quot;&gt;Je suis un dev&lt;/a&gt;.&lt;/p&gt;</content:encoded>
</item>
<item>
<title>J’ai codé l’univers tout entier (et au-delà) en JavaScript</title>
<link>https://www.jesuisundev.com/across-multiverse/</link>
<guid isPermaLink="false">HoV6ePXFMK68lXuNeRGHPgp5gfb8cIrpRKFOrA==</guid>
<pubDate>Wed, 21 Oct 2026 03:32:10 +0000</pubDate>
<description>J&#39;ai codé un jeu gratuit en 3D dans le navigateur, librement explorable, à travers des univers infinis générés de manière procédurale. The post J’ai codé l’univers tout entier (et au-delà) en JavaScript appeared first on Je suis un dev.</description>
<content:encoded>&lt;p&gt;J&amp;#39;ai codé un jeu gratuit en 3D dans le navigateur, librement explorable, à travers des univers infinis générés de manière procédurale. &lt;/p&gt;&lt;p&gt;The post &lt;a href=&quot;https://www.jesuisundev.com/across-multiverse/&quot;&gt;J’ai codé l’univers tout entier (et au-delà) en JavaScript&lt;/a&gt; appeared first on &lt;a href=&quot;https://www.jesuisundev.com&quot;&gt;Je suis un dev&lt;/a&gt;.&lt;/p&gt;</content:encoded>
</item>
<item>
<title>Sécurité web : l’indispensable à savoir</title>
<link>https://www.jesuisundev.com/securite-web/</link>
<guid isPermaLink="false">zkJw9zz2QlP_0HzYVoWzUGH-37k5gBkrwEXKIA==</guid>
<pubDate>Wed, 21 Oct 2026 03:32:10 +0000</pubDate>
<description>Laisser un énorme trou de sécurité est l&#39;un des pires truc que tu peux faire. Les développeurs ignorent presque tout du sujet. The post Sécurité web : l’indispensable à savoir appeared first on Je suis un dev.</description>
<content:encoded>&lt;p&gt;Laisser un énorme trou de sécurité est l&amp;#39;un des pires truc que tu peux faire. Les développeurs ignorent presque tout du sujet.&lt;/p&gt;&lt;p&gt;The post &lt;a href=&quot;https://www.jesuisundev.com/securite-web/&quot;&gt;Sécurité web : l’indispensable à savoir&lt;/a&gt; appeared first on &lt;a href=&quot;https://www.jesuisundev.com&quot;&gt;Je suis un dev&lt;/a&gt;.&lt;/p&gt;</content:encoded>
</item>
<item>
<title>Rendering untrusted HTML email, safely | The Making of Close</title>
<link>https://making.close.com/posts/rendering-untrusted-html-email-safely/</link>
<guid isPermaLink="false">JULIYAiHBu7--z4UShE1ywCadrSDOv8wuAcyRg==</guid>
<pubDate>Tue, 20 Oct 2026 17:06:04 +0000</pubDate>
<description>One of the earliest core features we built in Close was our</description>
<content:encoded>&lt;p&gt;One of the earliest core features we built in Close was our
&lt;a href=&quot;https://close.com/emailing/&quot;&gt;email sync feature&lt;/a&gt;, which allows Close to
automatically pull in email communication between your sales team and your sales
contacts and display them for your team to see. We present a unified timeline of
all communication (emails, calls, SMS, etc.) with a sales lead in one place for
your team.&lt;/p&gt;&lt;p&gt;This feature required that we build a way to display email in our web app –
&lt;em&gt;safely&lt;/em&gt;, without security concerns that typically come with naively rendering
untrusted HTML
(&lt;a href=&quot;https://owasp.org/www-community/attacks/xss/#Stored_and_Reflected_XSS_Attacks&quot;&gt;Stored XSS Attacks&lt;/a&gt;).&lt;/p&gt;&lt;p&gt;We launched our ability to display synced HTML email in 2014, however the
technical side of it is still very relevant and (I think) interesting since our
approach is not one that I&amp;#39;ve seen widely used.&lt;/p&gt;&lt;p&gt;In the end, we found a way to, exclusively on the client-side (in web browsers),
render untrusted HTML email safely inside our single-page application (written
originally with Backbone.js, now mostly React). Here we&amp;#39;ll discuss a few
approaches we had to consider and how we solved this problem.&lt;/p&gt;&lt;p&gt;For example, we can display an IMAP-synced email thread like this:&lt;/p&gt;&lt;p&gt;&lt;span&gt;
      &lt;a href=&quot;https://making.close.com/static/59bc283663f231da9d5d10687803846a/18650/email.png&quot;&gt;
    
  &lt;picture&gt;
          
          
          &lt;img src=&quot;https://making.close.com/static/59bc283663f231da9d5d10687803846a/fe486/email.png&quot; alt=&quot;email&quot; title=&quot;&quot;/&gt;
        &lt;/picture&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;&lt;h1&gt;HTML vs Plaintext?&lt;/h1&gt;&lt;p&gt;While many emails do come with a plaintext variant, we had to immediately
dismiss the idea of only displaying plaintext email, as convenient as that would
have been from a security perspective. Many emails don&amp;#39;t have a reasonable
plaintext alternative, and users simply expect to be able to view HTML formatted
email as they were designed.&lt;/p&gt;&lt;p&gt;Some emails &lt;em&gt;only&lt;/em&gt; have a plaintext variant. In those cases we can render the
plaintext content pretty simply in our web app: effectively just convert new
lines into &lt;code class=&quot;language-text&quot;&gt;&amp;lt;br&amp;gt;&lt;/code&gt; tags and convert URLs into links.&lt;/p&gt;&lt;p&gt;But most of the interesting engineering/security concerns are around rendering
untrusted HTML content (in this case, email content) safely, which is where the
remainder of this blog post will focus.&lt;/p&gt;&lt;h1&gt;Main goals and concerns&lt;/h1&gt;&lt;p&gt;Our main goals were the following:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Display HTML email, not just plaintext&lt;/li&gt;
&lt;li&gt;Display &amp;quot;full&amp;quot; HTML email. We care about much more than just a few simple tags
like &lt;code class=&quot;language-text&quot;&gt;&amp;lt;b&amp;gt;&lt;/code&gt; and &lt;code class=&quot;language-text&quot;&gt;&amp;lt;i&amp;gt;&lt;/code&gt;, but rather want to support displaying sophisticated
email styles (including custom &lt;code class=&quot;language-text&quot;&gt;style&lt;/code&gt; tags) that you often see in
well-designed HTML email newsletters, calendar invitations, etc.&lt;/li&gt;
&lt;li&gt;We want to render emails within our web application, without any conflicts of
our CSS leaking in or the email CSS leaking out.&lt;/li&gt;
&lt;li&gt;In addition to CSS styles, we also want to display images, expect links to
work, etc.&lt;/li&gt;
&lt;li&gt;Most important: Do not let any JavaScript run. Otherwise we run the risk of an
attacker taking over our user&amp;#39;s Close account by stealing cookies, or a number
of other Very Bad™️ things.&lt;/li&gt;
&lt;/ul&gt;&lt;h1&gt;Finding a solution…&lt;/h1&gt;&lt;h2&gt;Saying No to HTML Sanitization&lt;/h2&gt;&lt;p&gt;While there may be some rock-solid libraries out there that can take untrusted
HTML content and make it completely safe for rendering in HTML, there were a lot
of potential downsides to this idea.&lt;/p&gt;&lt;p&gt;First off, in 2014, we didn&amp;#39;t immediately trust any of them. HTML sanitization
libraries often rely on parsing HTML with regex, which is a
&lt;a href=&quot;https://stackoverflow.com/a/1732454/137067&quot;&gt;notoriously bad idea&lt;/a&gt;. We
absolutely didn&amp;#39;t want to be trying to maintain a library like this ourselves,
or have to worry about some unhandled edge case that could lead to a major
security vulnerability.&lt;/p&gt;&lt;p&gt;Additionally, unlike other use cases (e.g. rendering a blog comment which may
contain just some basic markup for bolding text), we felt like we needed to
render complex (heavily styled) HTML emails properly, just like you&amp;#39;d see in
Gmail or other modern email clients, so we couldn&amp;#39;t default to a tiny whitelist
of tags or supported attributes.&lt;/p&gt;&lt;p&gt;Finally, HTML sanitization on its own wouldn&amp;#39;t be enough, because we want to
render the email within an existing web app, and we don&amp;#39;t want its styles
affecting the styles of the rest of the web app. There&amp;#39;s a well-known solution
to this – iframes – that we could have used to help here.&lt;/p&gt;&lt;p&gt;Once we explored iframes, however, we realized they could do everything we
needed already on their own…&lt;/p&gt;&lt;h2&gt;What can iframes do for us?&lt;/h2&gt;&lt;p&gt;Most web developers know that an &lt;code class=&quot;language-text&quot;&gt;&amp;lt;iframe&amp;gt;&lt;/code&gt; can render a web page in a fairly
isolated fashion. Certainly they can solve the issue of our web app styles
incorrectly affecting an email&amp;#39;s styles (or vice versa).&lt;/p&gt;&lt;p&gt;But we still have that pesky issue of JavaScript.&lt;/p&gt;&lt;h3&gt;Uncommon but helpful iframe attributes&lt;/h3&gt;&lt;p&gt;There are a number of lesser known iframe attributes that can be very helpful.
Let&amp;#39;s take a look at a few.&lt;/p&gt;&lt;h4&gt;&lt;strong&gt;&lt;code class=&quot;language-text&quot;&gt;srcdoc&lt;/code&gt;&lt;/strong&gt;&lt;/h4&gt;&lt;p&gt;Most commonly iframes point to a &lt;code class=&quot;language-text&quot;&gt;src&lt;/code&gt; webpage URL – either on the same origin
or different origin. But since Close is a Single Page Application and our
frontend would already be fetching data about the email from our
&lt;a href=&quot;https://developer.close.com/&quot;&gt;REST API&lt;/a&gt; (and could include the email body
itself), we discovered that this attribute allowed us to inject HTML content
into an iframe (with all the typical iframe benefits) without needing that
content to be served by a separate page.&lt;/p&gt;&lt;p&gt;So rather than having to do something like:&lt;/p&gt;&lt;p&gt;&lt;code class=&quot;language-text&quot;&gt;&amp;lt;iframe src=&amp;quot;/email/body/?email_id=EMAIL_ID_HERE&amp;quot;&amp;gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;... which would have required us to setup an additional endpoint, we could
simply display the HTML we already had:&lt;/p&gt;&lt;p&gt;&lt;code class=&quot;language-text&quot;&gt;&amp;lt;iframe srcdoc=&amp;quot;UNTRUSTED_HTML_HERE&amp;quot;&amp;gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;Neither approach is particularly more or less secure than the other. Both make
you still think about &amp;quot;what about script execution&amp;quot; and consider the &amp;quot;same
origin&amp;quot; vs. &amp;quot;different origin&amp;quot; options (e.g. we might have needed a separate
domain and then have to pass some kind of token for authentication). We chose
&lt;code class=&quot;language-text&quot;&gt;srcdoc&lt;/code&gt; because it worked and was easiest for our setup.&lt;/p&gt;&lt;p&gt;For the value that we inject into the &lt;code class=&quot;language-text&quot;&gt;srcdoc&lt;/code&gt;, we actually wrap the HTML email
in a little HTML, with two main goals:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;Give email bodies some sane default styles, and make them fit into the
look-and-feel of our web app by default.&lt;/li&gt;
&lt;li&gt;Put &lt;code class=&quot;language-text&quot;&gt;target=&amp;quot;_blank&amp;quot;&lt;/code&gt; on all links by default (via a &lt;code class=&quot;language-text&quot;&gt;&amp;lt;base&amp;gt;&lt;/code&gt; tag), since we
never want a user clicking an email link to load a new webpage in the iframe,
and this is also a convenient way for us to apply this behavior to all links
without having to traverse the email&amp;#39;s HTML.&lt;/li&gt;
&lt;li&gt;Apply a &lt;a href=&quot;https://content-security-policy.com/&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;Content-Security-Policy&lt;/code&gt;&lt;/a&gt;
&lt;code class=&quot;language-text&quot;&gt;&amp;lt;meta&amp;gt;&lt;/code&gt; tag instructing the iframe document to avoid executing any JavaScript
whatsoever. (If we used a hosted page with &lt;code class=&quot;language-text&quot;&gt;src&lt;/code&gt; instead of &lt;code class=&quot;language-text&quot;&gt;srcdoc&lt;/code&gt;, this
would be done with an HTTP Header instead).&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;pre&gt;&lt;code class=&quot;language-html&quot;&gt;&amp;lt;html&amp;gt;
  &amp;lt;head&amp;gt;
    &amp;lt;meta http-equiv=&amp;quot;Content-Security-Policy&amp;quot; content=&amp;quot;script-src &amp;#39;none&amp;#39;&amp;quot; /&amp;gt;
    &amp;lt;base target=&amp;quot;_blank&amp;quot; /&amp;gt;
    &amp;lt;style&amp;gt;
      body {
        margin: 0;
        font:
          13px -apple-system,
          system-ui,
          &amp;#39;Segoe UI&amp;#39;,
          Roboto,
          Oxygen-Sans,
          Ubuntu,
          Cantarell,
          &amp;#39;Helvetica Neue&amp;#39;,
          sans-serif,
          &amp;#39;Apple Color Emoji&amp;#39;,
          &amp;#39;Segoe UI Emoji&amp;#39;,
          &amp;#39;Segoe UI Symbol&amp;#39;,
          sans-serif;
        overflow-y: hidden;
      }
      html:not(.x),
      body:not(.x) {
        height: auto !important;
      }
      p:first-child {
        margin-top: 0;
      }
      p:last-child {
        margin-bottom: 0;
      }
      a[href] {
        color: #3781b8;
        text-decoration: none;
      }
      a[href]:hover {
        text-decoration: underline;
      }
      blockquote[type=&amp;#39;cite&amp;#39;] {
        margin: 0 0 0 0.8ex;
        border-left: 1px #ccc solid;
        padding-left: 1ex;
      }
      img {
        max-width: 100%;
      }
      ul,
      ol {
        padding: 0;
        margin: 0 0 10px 25px;
      }
      ul {
        list-style-type: disc;
      }
    &amp;lt;/style&amp;gt;
  &amp;lt;/head&amp;gt;
  &amp;lt;body&amp;gt;
    ${bodyHtml}
  &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4&gt;&lt;strong&gt;&lt;code class=&quot;language-text&quot;&gt;sandbox&lt;/code&gt;&lt;/strong&gt;&lt;/h4&gt;&lt;p&gt;This attribute is the heart of our security model. By adding this attribute, it
adds a whole bunch of restrictions to the iframe document, including preventing
any JavaScript from running! Learn more about what&amp;#39;s blocked
&lt;a href=&quot;https://html.spec.whatwg.org/multipage/iframe-embed-object.html#attr-iframe-sandbox&quot;&gt;here&lt;/a&gt;
and &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe&quot;&gt;here&lt;/a&gt;.
The &lt;code class=&quot;language-text&quot;&gt;sandbox&lt;/code&gt; attribute allows you to opt back in specific behaviors that are
blocked by default. We only allow:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;code class=&quot;language-text&quot;&gt;allow-popups&lt;/code&gt; – We add &lt;code class=&quot;language-text&quot;&gt;target=&amp;quot;_blank&amp;quot;&lt;/code&gt; to all of them.&lt;/li&gt;
&lt;li&gt;&lt;code class=&quot;language-text&quot;&gt;allow-popups-to-escape-sandbox&lt;/code&gt; - So that external webpages opened via a link
actually function properly.&lt;/li&gt;
&lt;li&gt;&lt;code class=&quot;language-text&quot;&gt;allow-same-origin&lt;/code&gt; – We need this for our web app to detect the height of
iframe&amp;#39;s content. This would be dangerous (and defeat the purpose of
&lt;code class=&quot;language-text&quot;&gt;sandbox&lt;/code&gt;) if we also allowed scripts to run by also including
&lt;code class=&quot;language-text&quot;&gt;allow-scripts&lt;/code&gt;, however it&amp;#39;s harmless on its own.&lt;/li&gt;
&lt;/ul&gt;&lt;h4&gt;&lt;strong&gt;&lt;code class=&quot;language-text&quot;&gt;csp&lt;/code&gt;&lt;/strong&gt;&lt;/h4&gt;&lt;p&gt;We add a Content Security Policy to the iframe with a value of
&lt;code class=&quot;language-text&quot;&gt;script-src &amp;#39;none&amp;#39;&lt;/code&gt; as an additional mechanism to avoid any JavaScript from
running in the iframe. This is mostly duplicative with &lt;code class=&quot;language-text&quot;&gt;sandbox&lt;/code&gt; but provides an
extra layer of protection in
&lt;a href=&quot;https://caniuse.com/#feat=mdn-api_htmliframeelement_csp&quot;&gt;browsers&lt;/a&gt; that support
it.&lt;/p&gt;&lt;p&gt;As you can see, we have some overlap in coverage here (e.g. 3 separate features
to avoid JavaScript running). We have learned of particular browser bugs where
there were temporary limitations in any one of these indvidiual approaches. A
reminder that security in layers is often best.&lt;/p&gt;&lt;h2&gt;Bringing it together...&lt;/h2&gt;&lt;h2&gt;Handling unsupported browsers&lt;/h2&gt;&lt;p&gt;As soon as we made the decision to rely on &lt;code class=&quot;language-text&quot;&gt;&amp;lt;iframe sandbox&amp;gt;&lt;/code&gt; as our primary
safety mechanism, we also had to consider users with browsers who didn&amp;#39;t have
this safety mechanism, so that we didn&amp;#39;t put their accounts at risk. Feature
detection to the rescue:&lt;/p&gt;&lt;div&gt;&lt;pre&gt;&lt;code class=&quot;language-js&quot;&gt;// Don&amp;#39;t show HTML at all if they are using a browser that doesn&amp;#39;t support &amp;lt;iframe sandbox&amp;gt;
// since our security model relies on it to prevent XSS.
// (And the basic functionality relies on &amp;lt;iframe srcdoc&amp;gt;)
const iframe = document.createElement(&amp;#39;iframe&amp;#39;);
const isHtmlEmailSupported = &amp;#39;sandbox&amp;#39; in iframe &amp;amp;&amp;amp; &amp;#39;srcdoc&amp;#39; in iframe;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Based on this, we can make sure we &lt;em&gt;only&lt;/em&gt; display the plaintext email variant
(if one exists) or else render a message like &amp;quot;Your browser does not support
displaying email content.&amp;quot;&lt;/p&gt;&lt;h2&gt;Known limitations&lt;/h2&gt;&lt;p&gt;One can envision additional enhancements where we &lt;em&gt;would&lt;/em&gt; want to parse and
modify the email HTML before rendering it. One example would be if we wanted to
try to rewrite and proxy all image URLs
(&lt;a href=&quot;https://gmail.googleblog.com/2013/12/images-now-showing.html&quot;&gt;similar to Gmail&lt;/a&gt;)
to protect our users&amp;#39; privacy.&lt;/p&gt;&lt;p&gt;Similarly, we do have a problem where browsers will show a Mixed Content warning
(since our site is &lt;code class=&quot;language-text&quot;&gt;https://&lt;/code&gt;) after you display an email that includes an
&lt;code class=&quot;language-text&quot;&gt;&amp;lt;img&amp;gt;&lt;/code&gt; with an &lt;code class=&quot;language-text&quot;&gt;http://&lt;/code&gt; &lt;code class=&quot;language-text&quot;&gt;src&lt;/code&gt;. Those warnings are still fairly unobtrusive,
however, but ultimately we should proxy them to be served over https.&lt;/p&gt;&lt;p&gt;So while we may one day layer in additional HTML parsing measures (either
client-side or server-side), and could decide to switch from an
&lt;code class=&quot;language-text&quot;&gt;&amp;lt;iframe srcdoc&amp;gt;&lt;/code&gt; to &lt;code class=&quot;language-text&quot;&gt;&amp;lt;iframe src&amp;gt;&lt;/code&gt;, the other security features mentioned here
would still likely play an important part of safely rendering HTML email.&lt;/p&gt;&lt;h2&gt;Lots of other details to get right&lt;/h2&gt;&lt;p&gt;There were a lot of other details to get right. Each of them could deserve their
own blog post, but here is a summary:&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;We have to convert &amp;quot;inline&amp;quot; images (images that are embedded within the email
itself, not referencing an external URL) to be displayable by the web browser.&lt;/li&gt;
&lt;li&gt;We have to deal with understanding quoting parts. We wrote
&lt;a href=&quot;https://github.com/closeio/quotequail&quot;&gt;quotequail&lt;/a&gt; for this. (Mailgun later
open sourced a similar library called
&lt;a href=&quot;https://github.com/mailgun/talon&quot;&gt;talon&lt;/a&gt;). You can see in the screenshot at
the top of this post a little &amp;quot;...&amp;quot; button where the quoted part of the email
is collapsed by default, but expandable.&lt;/li&gt;
&lt;li&gt;We want to avoid the &amp;quot;extra scrollbar&amp;quot; issue you typically experience with
iframes, so we carefully (this is surprisingly tricky) detect the height of
the iframe email contents and then set the iframe to that height, giving it a
seamless look on the page.&lt;/li&gt;
&lt;li&gt;We need to consider how composing email works too. We needed a WYSIWYG editor
for HTML Email that also prevents any XSS. We currently use
&lt;a href=&quot;https://froala.com/wysiwyg-editor/&quot;&gt;Froala Editor&lt;/a&gt; for this, after having
tested many editors for security.&lt;/li&gt;
&lt;/ul&gt;&lt;h2&gt;Thoughts?&lt;/h2&gt;&lt;p&gt;Can you find any flaws in our email rendering security model? Our product and
approach has been audited by third party security firms, however we always
appreciate any reports of security vulnerabilities at
&lt;a href=&quot;mailto:security@close.com&quot;&gt;security@close.com&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Feel free to hit me up at &lt;a href=&quot;https://twitter.com/philfreo&quot;&gt;@philfreo&lt;/a&gt; with any
comments or questions!&lt;/p&gt;&lt;p&gt;– Phil Freo&lt;/p&gt;</content:encoded>
</item>
<item>
<title>We won’t need to know | Happiness Machines</title>
<link>https://blog.ignaciobrasca.com/systems/2026/10/10/we-wont-need-to-know.html</link>
<enclosure type="image/jpeg" length="0" url="https://blog.ignaciobrasca.com/img/posts/2026-10-10-we-wont-need-to-know/dirac.jpg"></enclosure>
<guid isPermaLink="false">TR1LaENknNDP8RXA9_3OSNb4UbDurQaDSdiOfg==</guid>
<pubDate>Tue, 20 Oct 2026 10:34:46 +0000</pubDate>
<description>Two states of the agentic workflow: barebones architecture, and problems too complex to scrape.</description>
<content:encoded>&lt;p&gt;I’ve been working in a heavy agentic workflow lately, and I foresee two states of what we are doing.&lt;/p&gt;&lt;p&gt;Barebones: enough architecture for us as a species to extract data and act on behalf of the commander.&lt;/p&gt;&lt;p&gt;And on the other side: problems utterly complex to scrape from.&lt;/p&gt;&lt;p&gt;The first to fall will be authentication. If everything is open, there is no one left to prove yourself to.&lt;/p&gt;&lt;p&gt;Then the web. Boxes in the shadow, communicating through obscure protocols optimized for machines, not us. Even a naive version of it, &lt;a href=&quot;https://modelcontextprotocol.io&quot;&gt;MCP&lt;/a&gt;, skyrocketed, so the need and the adoption are clearly there. &lt;a href=&quot;https://a2a-protocol.org&quot;&gt;A2A&lt;/a&gt; is the horizontal twin: agent to agent instead of agent to tool.&lt;/p&gt;&lt;p&gt;There will be no network but a market. A minimalist global version of &lt;a href=&quot;https://www.glukhov.org/post/2025/10/gemini-protocol/&quot;&gt;Gemini&lt;/a&gt;, the grandchild of &lt;a href=&quot;https://en.wikipedia.org/wiki/Gopher_(protocol)&quot;&gt;Gopher&lt;/a&gt;, where agents won’t even interact with us. It will be there for us to consume from, a GPS of knowledge, a universal standard, but with no need to connect yourself to it. You will already be there.&lt;/p&gt;&lt;p&gt;Not your name, not your identity. A rasterization of all your bits of information, chained together in a sequence only you have.&lt;/p&gt;&lt;p&gt;Decision makers will not look at landing pages. Insights will be exposed directly, for autonomous pointers, in a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.txt&lt;/code&gt;. Like &lt;a href=&quot;https://llmstxt.org&quot;&gt;llms.txt&lt;/a&gt;, but &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;insights.txt&lt;/code&gt;: readable as data, not as content or usability.&lt;/p&gt;&lt;p&gt;It’s the end of human-interface. One project points in this direction: &lt;a href=&quot;https://www.inkandswitch.com/essay/malleable-software/&quot;&gt;Ink &amp;amp; Switch&lt;/a&gt; and their malleable software, tools anyone can reshape with minimal friction instead of locked-down appliances. It feels like the right time for it: the sequence of bytes stops being a dead file and starts behaving like part of a living organism.&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://blog.ignaciobrasca.com/img/posts/2026-10-10-we-wont-need-to-know/dirac.jpg&quot; alt=&quot;Paul Dirac at the blackboard&quot; title=&quot;&quot;/&gt;&lt;/p&gt;&lt;p&gt;As Dirac mentioned in his 1939 lecture, &lt;a href=&quot;https://www.billtoole.net/wordpress/wp-content/uploads/2019/06/334419691-Paul-Dirac-The-Relation-Between-Mathematics-and-Physics.pdf&quot;&gt;The Relation Between Mathematics and Physics&lt;/a&gt;:&lt;/p&gt;&lt;blockquote&gt;
  &lt;p&gt;“It seems to be one of the fundamental features of nature that fundamental physical laws are described in terms of a mathematical theory of great beauty and power, needing quite a high standard of mathematics for one to understand it.”&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;We want to be there. We want to be present in the loop, part of the node that orchestrates the rest. But we are being displaced from the conversation.&lt;/p&gt;&lt;p&gt;We should take the opportunity: think outside the box, and take on better problems we can finally tackle.&lt;/p&gt;&lt;p&gt;We won’t go back. Not unless energy and infrastructure logistics, turbines, steam engines, all of it, are not sufficient. The &lt;a href=&quot;https://memeburn.com/ai-electricity-consumption-statistics-2026-and-power-demand/&quot;&gt;IEA counts&lt;/a&gt; data centres at 485 TWh in 2025, around 1.5% of global electricity, doubling by 2030.&lt;/p&gt;&lt;p&gt;If I had a billion dollars right now, I would invest in elevators, fire and maintenance, HVAC.&lt;/p&gt;&lt;p&gt;We won’t need to know. At least not this, not anymore. To leave space for other problems, and make humanity a better hive.&lt;/p&gt;</content:encoded>
</item>
<item>
<title>Web agéntica en WordPress: guía de arquitectura e IA</title>
<link>https://inprofit.eu/web/web-agentica-wordpress-guia-mcp-nlweb-ia/</link>
<guid isPermaLink="false">xwfLZuOn2f_EXTmd77cW1KvBgUnmTVKZpN_ODg==</guid>
<pubDate>Tue, 20 Oct 2026 06:27:52 +0000</pubDate>
<description>La web agéntica transforma WordPress: los agentes de IA autónomos ya no solo leen contenido, sino que ejecutan transacciones y convierten un 42% mejor que el tráfico tradicional. Descubre qué diferencia este paradigma del SEO, GEO y AEO, y cómo implementar MCP y NLWeb hoy. La entrada Web agéntica en WordPress: guía de arquitectura e IA se publicó primero en Inprofit.</description>
<content:encoded>&lt;p&gt;La &lt;strong&gt;web agéntica&lt;/strong&gt; es el paradigma de internet en el que agentes de IA autónomos navegan, interpretan datos y ejecutan transacciones en sitios web sin intervención humana directa. En &lt;strong&gt;WordPress&lt;/strong&gt;, que impulsa más del &lt;strong&gt;43% de la web&lt;/strong&gt;, implementar un &lt;strong&gt;WordPress agéntico&lt;/strong&gt; requiere exponer protocolos como &lt;strong&gt;MCP&lt;/strong&gt; y &lt;strong&gt;NLWeb&lt;/strong&gt; para permitir que las máquinas operen directamente sobre el CMS.&lt;/p&gt;&lt;h2&gt;¿Qué es la web agéntica y por qué WordPress está en el centro?&lt;/h2&gt;&lt;p&gt;Desde una perspectiva operativa, un sitio adaptado a la &lt;strong&gt;web agéntica&lt;/strong&gt; deja de ser un catálogo visual exclusivo para humanos y se convierte en un nodo de servicios ejecutable por software. En el plano académico, el marco teórico de &lt;strong&gt;Yang et al.&lt;/strong&gt; (publicado en &lt;a href=&quot;https://arxiv.org/&quot;&gt;arXiv&lt;/a&gt; en julio de 2025) define este entorno como una nueva fase de internet definida por interacciones autónomas, multimodales y orientadas a objetivos complejos.&lt;/p&gt;&lt;p&gt;Para diseñar una estrategia digital hoy, es fundamental &lt;a href=&quot;https://inprofit.eu/tecnologia/empresa-inteligencia-artificial/&quot;&gt;distinguir entre un &lt;strong&gt;asistente de IA&lt;/strong&gt; y un &lt;strong&gt;agente de IA&lt;/strong&gt;&lt;/a&gt;. El asistente de IA se limita a procesar lenguaje natural para informar o resumir respuestas en una interfaz conversacional. Por el contrario, los &lt;strong&gt;agentes de IA en WordPress&lt;/strong&gt; toman decisiones secuenciales y ejecutan acciones reales: comparan inventarios en tiempo real, autentican credenciales, rellenan formularios multipaso, reservan citas o completan compras mediante pasarelas de pago.&lt;/p&gt;&lt;p&gt;El papel de &lt;strong&gt;WordPress&lt;/strong&gt; en esta transición es estructural debido a su cuota de mercado superior al &lt;strong&gt;43% de todos los sitios web&lt;/strong&gt; activos. Al ser el gestor de contenidos más extendido del mundo, cualquier agente autónomo diseñado para interactuar con el ecosistema digital pasará inevitablemente por millones de instalaciones basadas en esta arquitectura. En marzo de 2026, el propio ecosistema dio un salto definitivo cuando &lt;a href=&quot;https://developer.wordpress.org/&quot;&gt;WordPress.com&lt;/a&gt; habilitó nativamente que agentes de IA escriban, publiquen y gestionen sitios completos mediante &lt;strong&gt;19 operaciones nuevas&lt;/strong&gt; sobre seis tipos de contenido bajo autenticación &lt;strong&gt;OAuth 2.1&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;La urgencia de adaptar tu sitio responde al impacto directo en la cuenta de resultados y en la cuota de tráfico. En el &lt;strong&gt;primer trimestre de 2026&lt;/strong&gt;, el tráfico referido por IA hacia retailers en Estados Unidos creció un &lt;strong&gt;393% interanual&lt;/strong&gt; y, por primera vez en la historia, convirtió un &lt;strong&gt;42% mejor&lt;/strong&gt; que el tráfico tradicional, revirtiendo el déficit del &lt;strong&gt;38% inferior&lt;/strong&gt; registrado un año antes. Además, el tráfico automatizado global ya supera en volumen al tráfico humano, con los agentes autónomos representando entre el &lt;strong&gt;8% y el 12%&lt;/strong&gt; de todas las visitas en sitios de comercio electrónico.&lt;/p&gt;&lt;p&gt;Los usuarios que delegan su navegación o llegan precalificados a través de sistemas de IA generan un &lt;strong&gt;37% más de ingresos por visita&lt;/strong&gt; que el tráfico convencional. También permanecen un &lt;strong&gt;48% más de tiempo&lt;/strong&gt; en el sitio y consultan un &lt;strong&gt;13% más de páginas por sesión&lt;/strong&gt;. Preparar tu plataforma para recibir y procesar estas visitas automatizadas es hoy la palanca de conversión más rentable del comercio digital.&lt;/p&gt;&lt;h2&gt;¿En qué se diferencia la web agéntica del SEO, el GEO y el AEO?&lt;/h2&gt;&lt;p&gt;El &lt;strong&gt;SEO&lt;/strong&gt; busca posicionar páginas para obtener clics humanos, el &lt;strong&gt;AEO&lt;/strong&gt; estructura textos para aparecer en fragmentos destacados, y el &lt;strong&gt;&lt;a href=&quot;https://inprofit.eu/posicionamiento-en-buscadores/geo-aeo-como-aparecer-en-chatgpt-gemini-perplexity/&quot;&gt;GEO&lt;/a&gt;&lt;/strong&gt; optimiza la autoridad para ser citado por motores generativos. En cambio, la &lt;strong&gt;web agéntica&lt;/strong&gt; transforma tu &lt;strong&gt;WordPress&lt;/strong&gt; mediante APIs y protocolos para que un agente autónomo ejecute tareas completas sin intervención visual humana.&lt;/p&gt;&lt;p&gt;La evolución desde los motores de búsqueda léxicos hasta los agentes transaccionales no elimina las disciplinas anteriores, sino que las integra en capas acumulativas. Un agente necesita primero descubrir la fuente mediante &lt;strong&gt;SEO&lt;/strong&gt;, extraer respuestas verificadas a través de &lt;strong&gt;AEO&lt;/strong&gt;, validar el consenso semántico con &lt;strong&gt;GEO&lt;/strong&gt; y, finalmente, ejecutar la orden del usuario utilizando la infraestructura de la &lt;strong&gt;web agéntica&lt;/strong&gt;.&lt;/p&gt;&lt;figure&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Atributo&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;SEO Tradicional&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;AEO (Answer Engine Optimization)&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;GEO (Generative Engine Optimization)&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;Web Agéntica&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Objetivo principal&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Posicionar URLs en las SERPs para captar tráfico orgánico humano.&lt;/td&gt;&lt;td&gt;Ocupar la posición cero, &lt;em&gt;featured snippets&lt;/em&gt; y respuestas de voz directas.&lt;/td&gt;&lt;td&gt;Ser citado e integrado como fuente autoritativa en síntesis de motores generativos.&lt;/td&gt;&lt;td&gt;Permitir que un agente autónomo ejecute una acción o transacción de principio a fin.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Usuario primario&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Humano utilizando un navegador web tradicional.&lt;/td&gt;&lt;td&gt;Motores de extracción de respuestas directas y asistentes de voz.&lt;/td&gt;&lt;td&gt;Sistemas RAG y modelos de lenguaje (ChatGPT, Perplexity, AI Overviews).&lt;/td&gt;&lt;td&gt;Agentes de IA autónomos orientados a objetivos y clientes &lt;strong&gt;MCP&lt;/strong&gt;.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Métrica de éxito&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Posiciones de keywords, impresiones, CTR y sesiones orgánicas.&lt;/td&gt;&lt;td&gt;Cuota de &lt;em&gt;featured snippets&lt;/em&gt; capturados y visibilidad &lt;em&gt;zero-click&lt;/em&gt;.&lt;/td&gt;&lt;td&gt;Frecuencia de atribución, cuota de citación generativa y tráfico referido de IA.&lt;/td&gt;&lt;td&gt;Tasa de finalización de tareas autónomas, llamadas a endpoints API y conversión agéntica.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Formato de contenido óptimo&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Artículos extensos, jerarquía HTML limpia, &lt;em&gt;link building&lt;/em&gt; y velocidad de carga (CWV).&lt;/td&gt;&lt;td&gt;Bloques de preguntas y respuestas concisas (&lt;em&gt;atomic answers&lt;/em&gt;) de &lt;strong&gt;40 a 60 palabras&lt;/strong&gt;.&lt;/td&gt;&lt;td&gt;Datos estadísticos verificables, citas de fuentes primarias, tablas y prosa densa en entidades.&lt;/td&gt;&lt;td&gt;Grafos &lt;strong&gt;Schema JSON-LD&lt;/strong&gt; unificados, endpoints &lt;strong&gt;MCP&lt;/strong&gt;, &lt;strong&gt;NLWeb&lt;/strong&gt; y &lt;em&gt;web verbs&lt;/em&gt; tipados.&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Acción esperada&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;El usuario hace clic en el enlace, lee la página y navega por la interfaz visual.&lt;/td&gt;&lt;td&gt;El motor lee o muestra la respuesta exacta sin requerir clic hacia la web.&lt;/td&gt;&lt;td&gt;El modelo sintetiza múltiples fuentes y recomienda la marca con un enlace de atribución.&lt;/td&gt;&lt;td&gt;El agente negocia parámetros, consulta stock, reserva o compra mediante protocolos autenticados.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/figure&gt;&lt;p&gt;El respaldo empírico de esta progresión es contundente. Ya en noviembre de 2023, el estudio fundacional sobre &lt;strong&gt;GEO&lt;/strong&gt; elaborado por investigadores de &lt;strong&gt;Princeton, Georgia Tech, Allen Institute for AI e IIT Delhi&lt;/strong&gt; demostró que incluir estadísticas verificables, citar fuentes explícitas y añadir citas textuales incrementa la visibilidad en motores generativos hasta en un &lt;strong&gt;40%&lt;/strong&gt;. Esta necesidad se ha acelerado porque el &lt;strong&gt;13,14% de las consultas de escritorio&lt;/strong&gt; en Estados Unidos ya activan resúmenes generados por IA (&lt;strong&gt;AI Overviews&lt;/strong&gt;), según datos reportados por medios especializados como &lt;a href=&quot;https://searchengineland.com/&quot;&gt;Search Engine Land&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;WordPress&lt;/strong&gt; ha evolucionado su arquitectura en cada una de estas cuatro fases: pasó de ofrecer permalinks amigables y mapas XML para el &lt;strong&gt;SEO&lt;/strong&gt; clásico, a integrar bloques estructurados de preguntas frecuentes para el &lt;strong&gt;AEO&lt;/strong&gt;, adoptar archivos &lt;code&gt;llms.txt&lt;/code&gt; y grafos de entidades para el &lt;strong&gt;GEO&lt;/strong&gt;, hasta convertirse hoy en un servidor de aplicaciones interoperable mediante &lt;strong&gt;MCP&lt;/strong&gt; y &lt;strong&gt;NLWeb&lt;/strong&gt; para liderar la &lt;strong&gt;web agéntica&lt;/strong&gt;.&lt;/p&gt;&lt;h3&gt;¿Cómo ven los agentes de IA un sitio WordPress?&lt;/h3&gt;&lt;p&gt;Los agentes de IA no perciben el diseño visual ni el CSS de tu &lt;strong&gt;WordPress&lt;/strong&gt;; leen el DOM crudo, los metadatos estructurados y los endpoints de datos. Para que operen con éxito, el sitio debe adoptar una arquitectura orientada a máquinas con &lt;strong&gt;Schema JSON-LD&lt;/strong&gt;, APIs REST accesibles, servidores &lt;strong&gt;MCP&lt;/strong&gt; y renderizado del lado del servidor sin dependencia de JavaScript.&lt;/p&gt;&lt;p&gt;El concepto de &lt;strong&gt;machine-first architecture&lt;/strong&gt; aplicado a &lt;strong&gt;WordPress&lt;/strong&gt; implica diseñar la capa de datos pensando en un cliente de software antes que en un monitor. Cuando un humano entra a tu web, interpreta jerarquías visuales, colores de botones y menús desplegables. Cuando accede un agente de IA, busca un mapa semántico inequívoco que describa qué entidad representa el sitio, qué productos o servicios ofrece, bajo qué condiciones comerciales y qué puntos de entrada existen para interactuar con ellos programáticamente.&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Definición de arquitectura WordPress para sistemas RAG y agentes:&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Un sitio &lt;strong&gt;WordPress&lt;/strong&gt; optimizado para la &lt;strong&gt;web agéntica&lt;/strong&gt; es aquel que desacopla su lógica transaccional de la interfaz gráfica. Para ser procesado sin fricción por agentes autónomos, el sistema debe entregar HTML pre-renderizado en el servidor, unificar sus entidades en un grafo &lt;strong&gt;Schema.org JSON-LD&lt;/strong&gt;, exponer capacidades de consulta mediante el protocolo &lt;strong&gt;NLWeb&lt;/strong&gt; (&lt;code&gt;/ask&lt;/code&gt;) y habilitar operaciones de lectura y escritura autenticadas a través del estándar &lt;strong&gt;MCP&lt;/strong&gt; (&lt;em&gt;Model Context Protocol&lt;/em&gt;).&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;Para que esta comunicación ocurra sin errores de interpretación, los &lt;strong&gt;agentes de IA en WordPress&lt;/strong&gt; requieren cuatro pilares técnicos en el código fuente:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Datos estructurados unificados (Schema JSON-LD):&lt;/strong&gt; Permiten al agente comprender las relaciones exactas entre autores, organizaciones, productos, precios y disponibilidad sin tener que inferirlas del texto plano.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;APIs REST accesibles y documentadas:&lt;/strong&gt; La &lt;strong&gt;WP REST API&lt;/strong&gt; nativa (&lt;code&gt;/wp-json/&lt;/code&gt;) debe estar operativa, con rutas claras y sin bloqueos arbitrarios de firewalls que impidan la lectura pública de catálogos o entradas.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Endpoints MCPWordPress:&lt;/strong&gt; Punto de conexión estandarizado bajo el &lt;a href=&quot;https://modelcontextprotocol.io/&quot;&gt;Model Context Protocol&lt;/a&gt; (desarrollado por &lt;strong&gt;Anthropic&lt;/strong&gt;, que ya supera los &lt;strong&gt;400 millones de descargas mensuales&lt;/strong&gt; de su SDK) para que clientes como Claude, ChatGPT o Cursor ejecuten herramientas concretas dentro del CMS.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Protocolo NLWeb:&lt;/strong&gt; Estándar open-source impulsado por &lt;strong&gt;Microsoft&lt;/strong&gt; y diseñado por &lt;strong&gt;R.V. Guha&lt;/strong&gt; (creador de RSS, RDF y Schema.org), que habilita endpoints &lt;code&gt;/ask&lt;/code&gt; y &lt;code&gt;/mcp&lt;/code&gt; para responder preguntas en lenguaje natural devolviendo directamente objetos estructurados en formato &lt;strong&gt;Schema.org JSON&lt;/strong&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Además de leer información, los agentes necesitan ejecutar operaciones mediante los llamados &lt;strong&gt;web verbs&lt;/strong&gt; (verbos web). Históricamente, los primeros agentes intentaban interactuar con la web mediante &lt;em&gt;screen scraping&lt;/em&gt; y simulación de clics en el navegador, un método lento, costoso en tokens y propenso a romperse si cambia una clase CSS. Los &lt;strong&gt;web verbs&lt;/strong&gt; son acciones tipadas y declarativas que tu &lt;strong&gt;WordPress&lt;/strong&gt; expone (como &lt;code&gt;add_to_cart&lt;/code&gt;, &lt;code&gt;check_availability&lt;/code&gt;, &lt;code&gt;book_appointment&lt;/code&gt; o &lt;code&gt;create_draft&lt;/code&gt;) con esquemas de entrada y salida estrictos, garantizando que el agente complete la transacción con precisión determinista.&lt;/p&gt;&lt;p&gt;Un obstáculo técnico crítico en este proceso es que &lt;strong&gt;la inmensa mayoría de los crawlers y agentes de IA no ejecutan JavaScript&lt;/strong&gt;. A diferencia de Googlebot, que dispone de una fase de renderizado diferido mediante un navegador Chromium sin cabeza (&lt;em&gt;headless&lt;/em&gt;), los agentes de IA priorizan la velocidad de respuesta y el ahorro computacional descargando únicamente el documento HTML inicial.&lt;/p&gt;&lt;p&gt;En el ecosistema &lt;strong&gt;WordPress&lt;/strong&gt;, esto representa un punto ciego masivo: si tu tema visual (&lt;em&gt;page builder&lt;/em&gt;), tus tablas de precios, tus variantes de &lt;strong&gt;WooCommerce&lt;/strong&gt; o tus reseñas se inyectan dinámicamente en el navegador del cliente mediante React, Vue o scripts AJAX pesados, &lt;strong&gt;ese contenido es completamente invisible para los agentes de IA&lt;/strong&gt;. Garantizar que todo el contenido semántico y los metadatos se entreguen en la primera respuesta del servidor (SSR o HTML estático cacheado) es un requisito indispensable de supervivencia digital.&lt;/p&gt;&lt;h2&gt;¿Qué plugins y herramientas de WordPress necesitas para la web agéntica?&lt;/h2&gt;&lt;p&gt;Preparar un &lt;strong&gt;WordPress agéntico&lt;/strong&gt; requiere instalar herramientas que traduzcan la base de datos y las funciones del CMS a estándares legibles por máquinas. El ecosistema actual cuenta con &lt;strong&gt;plugins WordPress IA&lt;/strong&gt; especializados en cinco áreas críticas: servidores &lt;strong&gt;MCP&lt;/strong&gt;, optimización &lt;strong&gt;AEO/GEO&lt;/strong&gt;, agregación de Schema, detección analítica de agentes e implementación del protocolo &lt;strong&gt;NLWeb&lt;/strong&gt;.&lt;/p&gt;&lt;p&gt;A diferencia de los plugins de primera generación que solo añadían un generador de textos en el editor Gutenberg, la nueva infraestructura de plugins actúa sobre la arquitectura de red y la capa de datos del servidor. A continuación se detallan las soluciones específicas disponibles hoy para transformar tu instalación, organizadas por su función técnica:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;strong&gt;Servidores MCP (Model Context Protocol):&lt;/strong&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;NIBWP:&lt;/strong&gt; Convierte tu instalación de &lt;strong&gt;WordPress&lt;/strong&gt; en un servidor &lt;strong&gt;MCP&lt;/strong&gt; completo, exponiendo entradas, páginas y taxonomías para que clientes externos de IA lean y modifiquen contenido de forma segura.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;WSP MCP:&lt;/strong&gt; Integra el protocolo de &lt;strong&gt;Anthropic&lt;/strong&gt; directamente con los &lt;em&gt;hooks&lt;/em&gt; y filtros nativos del núcleo de &lt;strong&gt;WordPress&lt;/strong&gt;, permitiendo exponer &lt;em&gt;custom post types&lt;/em&gt; a flujos de trabajo agénticos.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Sokket:&lt;/strong&gt; Actúa como un puente de baja latencia que expone las capacidades operativas de tu sitio como herramientas invocables por agentes desde entornos como Cursor, Claude Desktop o agentes personalizados.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;AICOM:&lt;/strong&gt; Especializado en el comercio agéntico, traduce el catálogo de productos, las variaciones de stock y los flujos de pedido para que agentes de compra operen sobre el sitio.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;MCP Content Manager Lite:&lt;/strong&gt; Ofrece una interfaz ligera enfocada exclusivamente en operaciones CRUD (crear, leer, actualizar y borrar) de contenidos editoriales para automatizar redacciones asistidas por agentes.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Invizo MCP:&lt;/strong&gt; Proporciona una capa empresarial de gobierno y control de acceso granular sobre las herramientas &lt;strong&gt;MCP&lt;/strong&gt; expuestas, ideal para sitios corporativos con múltiples roles.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;StrifeBridge MCP:&lt;/strong&gt; Conecta arquitecturas &lt;strong&gt;WordPress&lt;/strong&gt; híbridas o &lt;em&gt;headless&lt;/em&gt; con redes de agentes distribuidos, asegurando la sincronización de estados entre el CMS y servicios externos.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Optimización AI SEO (AEO y GEO):&lt;/strong&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Agentimus:&lt;/strong&gt; Analiza y reestructura la jerarquía semántica del contenido en bloques atómicos para maximizar la extracción directa por parte de motores de respuesta y sistemas RAG.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;AJ Agent Crawl Optimizer:&lt;/strong&gt; Gestiona el presupuesto de rastreo (&lt;em&gt;crawl budget&lt;/em&gt;) específico de los bots de IA, sirviendo versiones ligeras en HTML puro y evitando la sobrecarga del servidor.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;FocusWeb AI Visibility:&lt;/strong&gt; Monitoriza qué fragmentos de tu &lt;strong&gt;WordPress&lt;/strong&gt; están siendo citados en respuestas generativas y sugiere ajustes de densidad estadística y de entidades.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;AI Data Layer:&lt;/strong&gt; Inyecta una capa de datos estandarizada y predecible en la cabecera del documento para que los agentes extraigan atributos comerciales sin necesidad de parsear el diseño visual.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;AgentReadyScan:&lt;/strong&gt; Ejecuta auditorías técnicas dentro del panel de administración para detectar bloqueos en &lt;code&gt;robots.txt&lt;/code&gt;, dependencias de JavaScript en contenidos críticos o errores de esquema.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Schema y datos estructurados:&lt;/strong&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Yoast SEO con Schema Aggregation:&lt;/strong&gt; El plugin presente en más de &lt;strong&gt;13 millones de sitios WordPress&lt;/strong&gt; anunció en noviembre de 2025 su alianza con &lt;strong&gt;NLWeb&lt;/strong&gt; y lanzó en marzo de 2026 la función &lt;strong&gt;Schema Aggregation&lt;/strong&gt;, que consolida todos los fragmentos dispersos del sitio en un único grafo de conocimiento coherente para la &lt;strong&gt;web agéntica&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;DataStackLogic Schema Manager:&lt;/strong&gt; Permite modelar relaciones avanzadas de entidades personalizadas y vincularlas con bases de datos de conocimiento externas como Wikidata.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;AI-Ready WP:&lt;/strong&gt; Automatiza la generación de metadatos estructurados y archivos de contexto plano en formato Markdown para facilitar la ingesta masiva por parte de modelos de lenguaje.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Detección y analítica de agentes:&lt;/strong&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Tactical — AI Agent Detection for WooCommerce:&lt;/strong&gt; Identifica, separa y mide el tráfico procedente de agentes autónomos frente a visitas humanas, permitiendo atribuir ingresos y tasas de conversión específicas al canal agéntico en tiendas online.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Implementación de NLWeb:&lt;/strong&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;WPNLWeb:&lt;/strong&gt; Es el plugin oficial para el ecosistema que implementa el protocolo open-source &lt;a href=&quot;https://www.google.com/search?q=https://github.com/microsoft/NLWeb&quot;&gt;NLWeb de Microsoft&lt;/a&gt;, habilitando de forma automática los endpoints &lt;code&gt;/ask&lt;/code&gt; y &lt;code&gt;/mcp&lt;/code&gt; para que cualquier agente consulte el catálogo o el archivo editorial en lenguaje natural y reciba respuestas en &lt;strong&gt;Schema.org JSON&lt;/strong&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Para que todas estas herramientas operen sin comprometer la integridad del sitio, el estándar de seguridad exige mecanismos robustos de identidad. En &lt;strong&gt;WordPress&lt;/strong&gt;, la autenticación más común y recomendada para conectar agentes de IA se realiza mediante &lt;strong&gt;Application Passwords&lt;/strong&gt; (contraseñas de aplicación nativas en el núcleo de &lt;strong&gt;WordPress&lt;/strong&gt; desde la versión 5.6, que permiten revocar accesos individuales al instante) o a través del protocolo &lt;strong&gt;OAuth 2.1&lt;/strong&gt;, que gestiona tokens de autorización con permisos delegados y expiración controlada.&lt;/p&gt;&lt;h2&gt;¿Cómo preparar tu WordPress para la era agéntica?&lt;/h2&gt;&lt;p&gt;Adaptar tu sitio a la &lt;strong&gt;web agéntica&lt;/strong&gt; requiere ejecutar una hoja de ruta técnica que abarca desde la capa de renderizado hasta la exposición de protocolos transaccionales. Este checklist práctico de &lt;strong&gt;12 pasos&lt;/strong&gt; guía la &lt;a href=&quot;https://inprofit.eu/web/web-con-ia-o-wordpress/&quot;&gt;transformación de un &lt;strong&gt;WordPress&lt;/strong&gt;&lt;/a&gt; convencional en una infraestructura preparada para recibir, informar y transaccionar con agentes de IA.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;strong&gt;Audita y unifica tu grafo de Schema markup:&lt;/strong&gt; Verifica con el validador de resultados enriquecidos que tus páginas no emitan etiquetas inconexas; activa &lt;strong&gt;Schema Aggregation&lt;/strong&gt; en &lt;strong&gt;Yoast SEO&lt;/strong&gt; o configura &lt;strong&gt;DataStackLogic Schema Manager&lt;/strong&gt; para entregar un grafo JSON-LD unificado.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Garantiza el renderizado en servidor (SSR) del contenido crítico:&lt;/strong&gt; Audita tu tema y tus plugins con &lt;strong&gt;AgentReadyScan&lt;/strong&gt; para asegurar que precios, textos, tablas y especificaciones se entreguen en el HTML inicial sin requerir que el cliente ejecute JavaScript.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Optimiza el archivo &lt;code&gt;robots.txt&lt;/code&gt; para crawlers de IA:&lt;/strong&gt; Revisa tus reglas de acceso con &lt;strong&gt;AJ Agent Crawl Optimizer&lt;/strong&gt; y permite explícitamente el rastreo a agentes verificados como &lt;code&gt;GPTBot&lt;/code&gt;, &lt;code&gt;OAI-SearchBot&lt;/code&gt;, &lt;code&gt;ClaudeBot&lt;/code&gt; y &lt;code&gt;PerplexityBot&lt;/code&gt; en las secciones públicas de valor.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Publica los archivos &lt;code&gt;llms.txt&lt;/code&gt; y &lt;code&gt;agent-facts.html&lt;/code&gt;:&lt;/strong&gt; Crea un archivo &lt;code&gt;/llms.txt&lt;/code&gt; en la raíz del dominio (puedes automatizarlo con &lt;strong&gt;Yoast SEO&lt;/strong&gt; o &lt;strong&gt;AI-Ready WP&lt;/strong&gt;) que resuma la arquitectura del sitio en Markdown limpio, acompañado de un documento &lt;code&gt;agent-facts.html&lt;/code&gt; con los datos verificados de tu empresa.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Instala y configura un servidor MCP en tu WordPress:&lt;/strong&gt; Elige e instala &lt;strong&gt;NIBWP&lt;/strong&gt;, &lt;strong&gt;WSP MCP&lt;/strong&gt; o &lt;strong&gt;Sokket&lt;/strong&gt; según la arquitectura de tu proyecto para exponer de forma controlada las capacidades de lectura y gestión de tu CMS.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Despliega el protocolo NLWeb para consultas en lenguaje natural:&lt;/strong&gt; Instala el plugin &lt;strong&gt;WPNLWeb&lt;/strong&gt; para activar los endpoints &lt;code&gt;/ask&lt;/code&gt; y &lt;code&gt;/mcp&lt;/code&gt;, permitiendo que agentes externos interroguen tu base de datos y reciban respuestas estructuradas en &lt;strong&gt;Schema.org JSON&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Configura autenticación segura mediante Application Passwords u OAuth 2.1:&lt;/strong&gt; Crea cuentas de usuario en &lt;strong&gt;WordPress&lt;/strong&gt; con roles específicos para tus agentes y genera credenciales mediante &lt;strong&gt;Application Passwords&lt;/strong&gt; nativas o flujos &lt;strong&gt;OAuth 2.1&lt;/strong&gt;, evitando siempre compartir contraseñas de administrador principal.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Expón «web verbs» claros para tus acciones de negocio:&lt;/strong&gt; Si operas un e-commerce o web de reservas, utiliza &lt;strong&gt;AICOM&lt;/strong&gt; o extiende tus endpoints para declarar acciones tipadas (consultar stock, calcular envío, reservar hora, iniciar pago) que los agentes puedan invocar sin simular clics.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Reestructura tus páginas con bloques de respuesta atómica (AEO):&lt;/strong&gt; Edita tus artículos y páginas de servicio apoyándote en &lt;strong&gt;Agentimus&lt;/strong&gt; para que cada encabezado H2 vaya seguido de una síntesis directa de &lt;strong&gt;40 a 60 palabras&lt;/strong&gt; antes de desarrollar el tema.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Enriquece el contenido con densidad estadística y fuentes (GEO):&lt;/strong&gt; Añade datos cuantitativos propios o de terceros, citas textuales de expertos y enlaces a fuentes primarias para incrementar hasta un &lt;strong&gt;40%&lt;/strong&gt; la probabilidad de citación en motores generativos.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Implementa analítica específica para tráfico agéntico:&lt;/strong&gt; Instala &lt;strong&gt;Tactical — AI Agent Detection for WooCommerce&lt;/strong&gt; para separar las sesiones de agentes de IA de las visitas humanas y medir con exactitud el retorno de inversión de este canal.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Establece políticas de seguridad, permisos granulares y &lt;em&gt;audit logs&lt;/em&gt;:&lt;/strong&gt; Utiliza herramientas como &lt;strong&gt;Invizo MCP&lt;/strong&gt; para restringir qué operaciones pueden hacer los agentes sin supervisión y exige aprobación humana (&lt;em&gt;human-in-the-loop&lt;/em&gt;) para cualquier acción de escritura o publicación definitiva.&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;Errores comunes al adaptar un WordPress a la era agéntica&lt;/h2&gt;&lt;p&gt;La transición hacia un &lt;strong&gt;WordPress agéntico&lt;/strong&gt; suele fracasar cuando se confunden herramientas visuales para humanos con infraestructura de datos para máquinas. &lt;a href=&quot;https://inprofit.eu/consultoria/consultoria-ia-pymes/&quot;&gt;Evitar errores arquitectónicos como bloquear bots de IA&lt;/a&gt;, depender de JavaScript en el cliente o ignorar los protocolos &lt;strong&gt;MCP&lt;/strong&gt; y &lt;strong&gt;NLWeb&lt;/strong&gt; es decisivo para mantener la visibilidad y la capacidad transaccional.&lt;/p&gt;&lt;p&gt;A continuación se detallan los cinco errores más frecuentes en departamentos de marketing y desarrollo, junto con su corrección técnica:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Error 1: Pensar que instalar un chatbot en la esquina de la web es suficiente.&lt;/strong&gt;&lt;ul&gt;&lt;li&gt;&lt;em&gt;Corrección:&lt;/em&gt; Un chatbot tradicional es una interfaz pasiva para que un humano haga preguntas dentro de tu página. En la &lt;strong&gt;web agéntica&lt;/strong&gt;, el usuario no entra a tu web para chatear: envía a su propio agente externo (desde ChatGPT, Claude o su sistema operativo) a negociar con tu servidor. Necesitas exponer endpoints &lt;strong&gt;MCP&lt;/strong&gt; y &lt;strong&gt;NLWeb&lt;/strong&gt;, no solo un widget visual.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Error 2: Bloquear indiscriminadamente a los crawlers de IA en &lt;code&gt;robots.txt&lt;/code&gt; o en el WAF.&lt;/strong&gt;&lt;ul&gt;&lt;li&gt;&lt;em&gt;Corrección:&lt;/em&gt; Muchos administradores bloquean por defecto a todos los bots de IA por temor al raspado de datos, o activan desafíos visuales de Cloudflare (CAPTCHAs) en todo el dominio. Dado que los agentes no resuelven desafíos visuales ni ejecutan JavaScript, un bloqueo total hace que tu negocio deje de existir para el canal que hoy convierte un &lt;strong&gt;42% mejor&lt;/strong&gt; que el tráfico convencional. Configura reglas selectivas que permitan el acceso a agentes de búsqueda y compra mientras proteges áreas privadas.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Error 3: Ocultar información comercial crítica detrás de eventos de JavaScript.&lt;/strong&gt;&lt;ul&gt;&lt;li&gt;&lt;em&gt;Corrección:&lt;/em&gt; Utilizar constructores visuales pesados que cargan precios, tablas comparativas o disponibilidad de inventario mediante llamadas AJAX posteriores a la carga de la página impide que el agente lea los datos. Asegúrate de que toda la información relevante para la decisión de compra esté presente en el HTML renderizado por el servidor y reflejada en el bloque &lt;strong&gt;JSON-LD&lt;/strong&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Error 4: Tratar los datos estructurados (Schema) como un complemento opcional de SEO.&lt;/strong&gt;&lt;ul&gt;&lt;li&gt;&lt;em&gt;Corrección:&lt;/em&gt; En el SEO clásico, el Schema servía únicamente para ganar estrellas de valoración o fragmentos visuales en Google. En un entorno de &lt;strong&gt;agentes de IA en WordPress&lt;/strong&gt;, el Schema es el lenguaje nativo de lectura de la máquina. Utiliza &lt;strong&gt;Yoast SEO con Schema Aggregation&lt;/strong&gt; para que el agente comprenda sin ambigüedad las políticas de envío, devoluciones, precios y relaciones de tu catálogo.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Error 5: Confundir el protocolo MCP con un plugin de generación de texto.&lt;/strong&gt;&lt;ul&gt;&lt;li&gt;&lt;em&gt;Corrección:&lt;/em&gt;&lt;strong&gt;MCP WordPress&lt;/strong&gt; no es un asistente para redactar posts más rápido dentro de tu panel; es un protocolo bidireccional de comunicación de red. Su función es permitir que agentes autorizados se conecten desde el exterior para consultar estados, cruzar datos con otros sistemas empresariales (como tu CRM o ERP) y ejecutar operaciones autenticadas en nombre del usuario o de tu equipo.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;Preguntas frecuentes sobre la web agéntica en WordPress (FAQ)&lt;/h2&gt;&lt;p&gt;Las dudas más habituales sobre la implantación de la &lt;strong&gt;web agéntica&lt;/strong&gt; en &lt;strong&gt;WordPress&lt;/strong&gt; giran en torno a su convivencia con el SEO tradicional, la elección de plugins &lt;strong&gt;MCP&lt;/strong&gt;, la medición analítica y la seguridad operativa. A continuación, respondemos de forma directa y estructurada a las cinco consultas clave para responsables digitales.&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;strong&gt;¿La web agéntica reemplazará al SEO en WordPress?&lt;/strong&gt;&lt;p&gt;No, la &lt;strong&gt;web agéntica&lt;/strong&gt; no reemplaza al &lt;strong&gt;SEO&lt;/strong&gt; tradicional en &lt;strong&gt;WordPress&lt;/strong&gt;, sino que se construye sobre sus cimientos técnicos. Los motores generativos y los agentes autónomos siguen utilizando índices de búsqueda, rastreadores web, mapas del sitio y arquitecturas de enlaces para descubrir fuentes fiables antes de interactuar con sus endpoints &lt;strong&gt;MCP&lt;/strong&gt; o &lt;strong&gt;NLWeb&lt;/strong&gt;.&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;¿Qué plugin MCP de WordPress debería instalar primero?&lt;/strong&gt;&lt;p&gt;La elección del primer plugin &lt;strong&gt;MCP&lt;/strong&gt; depende del modelo de negocio de tu sitio &lt;strong&gt;WordPress&lt;/strong&gt;. Para portales editoriales o blogs corporativos, &lt;strong&gt;NIBWP&lt;/strong&gt; o &lt;strong&gt;MCP Content Manager Lite&lt;/strong&gt; son ideales para gestionar contenidos; en cambio, si operas una tienda en &lt;strong&gt;WooCommerce&lt;/strong&gt;, debes priorizar &lt;strong&gt;AICOM&lt;/strong&gt; o &lt;strong&gt;Sokket&lt;/strong&gt; para habilitar consultas de inventario y transacciones.&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;¿Cómo mido el tráfico de agentes de IA en mi WordPress?&lt;/strong&gt;&lt;p&gt;Las herramientas de analítica tradicionales como Google Analytics 4 no registran a la mayoría de los agentes de IA porque estos no ejecutan etiquetas de JavaScript. Para medir su impacto real en &lt;strong&gt;WordPress&lt;/strong&gt;, debes analizar los registros del servidor (&lt;em&gt;server logs&lt;/em&gt;) e instalar plugins especializados como &lt;strong&gt;Tactical — AI Agent Detection for WooCommerce&lt;/strong&gt;.&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;¿Es seguro dar a un agente de IA acceso de escritura a mi WordPress?&lt;/strong&gt;&lt;p&gt;Sí, es seguro siempre que apliques el principio de mínimo privilegio en la arquitectura de tu &lt;strong&gt;WordPress&lt;/strong&gt;. Nunca entregues credenciales de administrador; debes autenticar a cada agente mediante &lt;strong&gt;Application Passwords&lt;/strong&gt; nativas u &lt;strong&gt;OAuth 2.1&lt;/strong&gt;, asignarle un rol restringido a borradores y exigir aprobación humana usando gestores de gobierno como &lt;strong&gt;Invizo MCP&lt;/strong&gt;.&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;¿Qué es NLWeb y cómo se integra con WordPress?&lt;/strong&gt;&lt;p&gt;&lt;strong&gt;NLWeb&lt;/strong&gt; (&lt;em&gt;Natural Language Web&lt;/em&gt;) es un protocolo open-source creado por &lt;strong&gt;R.V. Guha&lt;/strong&gt; en &lt;strong&gt;Microsoft&lt;/strong&gt; que permite consultar sitios web en lenguaje natural y recibir respuestas estructuradas en &lt;strong&gt;Schema.org JSON&lt;/strong&gt;. En &lt;strong&gt;WordPress&lt;/strong&gt;, se integra instalando el plugin &lt;strong&gt;WPNLWeb&lt;/strong&gt; o mediante la infraestructura de &lt;strong&gt;Yoast SEO&lt;/strong&gt;, exponiendo automáticamente los endpoints &lt;code&gt;/ask&lt;/code&gt; y &lt;code&gt;/mcp&lt;/code&gt;.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;h2&gt;Conclusión: la ventana de oportunidad para WordPress&lt;/h2&gt;&lt;p&gt;Las &lt;a href=&quot;https://inprofit.eu/marketing-estudio/wordpress-alicante/&quot;&gt;empresas con sitios &lt;strong&gt;WordPress&lt;/strong&gt;&lt;/a&gt; que adapten hoy su infraestructura a la &lt;strong&gt;web agéntica&lt;/strong&gt; obtendrán una ventaja competitiva directa y medible en visibilidad, eficiencia operativa y conversión comercial. Cuando un canal emergente demuestra convertir un &lt;strong&gt;42% mejor&lt;/strong&gt; y generar un &lt;strong&gt;37% más de ingresos por visita&lt;/strong&gt; que el tráfico tradicional, dejar tu arquitectura web preparada únicamente para navegadores humanos supone renunciar al segmento de mayor crecimiento del mercado digital.&lt;/p&gt;&lt;p&gt;Esta transición tecnológica no es una proyección a largo plazo, sino una realidad desplegada en producción. La integración nativa de operaciones agénticas bajo &lt;strong&gt;OAuth 2.1&lt;/strong&gt; en &lt;strong&gt;WordPress.com&lt;/strong&gt;, el soporte de &lt;strong&gt;Schema Aggregation&lt;/strong&gt; e integración con &lt;strong&gt;NLWeb&lt;/strong&gt; por parte de &lt;strong&gt;Yoast&lt;/strong&gt; en más de &lt;strong&gt;13 millones de instalaciones&lt;/strong&gt;, y la madurez de los plugins de servidor &lt;strong&gt;MCP&lt;/strong&gt; demuestran que el ecosistema ya dispone de todas las piezas necesarias. Tal como destacan los análisis técnicos de publicaciones como &lt;a href=&quot;https://www.searchenginejournal.com/&quot;&gt;Search Engine Journal&lt;/a&gt;, la interoperabilidad entre gestores de contenidos y agentes autónomos definirá el estándar de desarrollo web de los próximos años.&lt;/p&gt;&lt;p&gt;El primer paso no exige reconstruir tu sitio desde cero, sino evaluar con precisión cómo lo interpretan las máquinas hoy. Realiza esta semana una auditoría técnica de tu instalación &lt;strong&gt;WordPress&lt;/strong&gt;: comprueba qué información entregas sin depender de JavaScript, valida la coherencia de tu grafo &lt;strong&gt;Schema JSON-LD&lt;/strong&gt; y planifica el despliegue de tus primeros endpoints de consulta para asegurarte de que, cuando el agente de tu próximo cliente llegue a tu dominio, encuentre las puertas abiertas para operar.&lt;/p&gt;&lt;p&gt;La entrada &lt;a href=&quot;https://inprofit.eu/web/web-agentica-wordpress-guia-mcp-nlweb-ia/&quot;&gt;Web agéntica en WordPress: guía de arquitectura e IA&lt;/a&gt; se publicó primero en &lt;a href=&quot;https://inprofit.eu&quot;&gt;Inprofit&lt;/a&gt;.&lt;/p&gt;</content:encoded>
</item>
</channel>
</rss>
