Jump to content

Numbered

Members
  • Posts

    310
  • Joined

  • Last visited

  • Days Won

    1

 Content Type 

Downloads

Release Notes

IPS4 Guides

IPS4 Developer Documentation

Invision Community Blog

Development Blog

Deprecation Tracker

Providers Directory

Forums

Events

Store

Gallery

Posts posted by Numbered

  1. 19 hours ago, bfarber said:

    This is already supported just FYI. The tag presented may use the id, but the folder/filename.ext syntax also works.

    @bfarber, thank you so much! I don't know about that before and this will be extremely helpful for us. We doing very complex works with cms application and this is the best option for us. There are fresh examples of what we have done with the cms app (all made inside CMS including languages, registrations, and back-end features). https://wowslegends.com/ https://wowslegends.com/promo1/ 
    Is there any change in the future to improve other parts that I mentioned above?

  2. Features that I missed in current IPS:

    • we can't export/import blocks from one site to another one (we doing all changes on the staging server before deploying them to the production one)
    • block contains media with their id's. So when we upload the same media files they have different id's. It will fix if the media supports folder and filenames instead of id. We can upload a lot of media files to different websites and copy-paste pages/blocks code contains the media. It might look like {media="some/folder/file_name.jpg"}
    • if we have a lot of pages and switches from one 'main' page to another one we couldn't find on the next time which page is actual default right now. we should click on the arrow of every page to see if the star icon filled or empty.
    • templates (page templates, css, js) - you couldn't understand where the current css file used now. You can only jump into the edition of each page and remember that. It's not useful.
    • cms don't support languages at all. So in every block, we used code 
    {{$lang = \IPS\Member::loggedIn()->language()->short;}}
    {{if mb_strpos($lang, 'de_DE') === 0}}
    some html
    {{elseif mb_strpos($lang, 'fr_FR') === 0}}
    some FR html
    ... additional 10+ languages
    {{else}}
    EN content
    {{endif}}

    Or you can define variable inside conditions and call them. This is very dumb way to support multilanguage in 'cms'. And, no cache available for all language based blocks at all.

    • block editing in ACP is unuseful. we have very little space for the editor (HTML). No 'revert' option (if save will support ajax we'll have a browser default Ctrl+Z option, but.. we haven't it with reload)
    • same as for templates - when we editing block we couldn't understand on which page it used now
    • You couldn't link the block content with template CSS and JS. Mostly it might be the default way to linking (blocks should be self-dependent). Right now it doesn't (in case of css and js).

    I hope this list helps the devs to understand the daily pains of our content managers.

    Thank you

  3. Maybe. I'm not 100% sure that John said fact. If I were him I'll think twice to say that next/prev working for preventing stupid SEO hacks and panic. (for Google absolutely better if the webmasters wouldn't use these helpings than they use them in the wrong way)

    And there is no Google only search engine. And point about the wrong canonical still present. Yes, Google easily can ignore them. But better to help him do the right things than confuse him.

    P.S. IPS doesn't love me again (writing from TOR)

    image.thumb.png.25eaffeafc3378cafa0bf7c9d77c1b5d.png

     

  4. @Sonya* and @sadams101 you are both right.

    Sonya right in the part of using posts items instead of topics wrong way to the right SEO.

    Sadams101 right in the part of the pagination problem. Thank you for get attention to the pagination problem. I try to do a little bit of research and found that IPS might be better with that important part. For example, this page has a canonical tag:

    <link rel="canonical" href="https://invisioncommunity.com/forums/topic/442742-large-community-you-have-a-problems-with-sitemap/">

    This tag said that Google should stick to the first page of the series. And the cannonical tag links to the 'only' or 'primary' version of the same page. But other pages are not the same as first - it's wrong. Anyway, Google can understand that the other pages haven't the same content and it might ignore the canonical tag. But there Google doing that scans contrary to, and not by a clear intent.

    There is no way to said Google about pagination. But somebody recommends to use rel=prev/next. This tags exist here, but with strange params: 

    <link rel="next" href="https://invisioncommunity.com/forums/topic/442742-large-community-you-have-a-problems-with-sitemap/page/2/">
    <link rel="last" href="https://invisioncommunity.com/forums/topic/442742-large-community-you-have-a-problems-with-sitemap/page/12/">
    <link rel="canonical" href="https://invisioncommunity.com/forums/topic/442742-large-community-you-have-a-problems-with-sitemap/">

    It seems like the 'next' param didn't work for the current page and put params depends only on first page. And there is no 'prev' page - I think for the same reason.

    Some other example from SEO websites and cannonical tag:

    Quote

    For example:

    
    <link rel="next" href="https://www.example.com/category?page=2&order=newest" />
    <link rel="canonical" href="https://www.example.com/category?page=2" />

    Doing so will indicate a clear relationship between the pages and prevent the potential of duplicate content.

    I think anybody can search this tags and found the same information that I wrote.

    To be clear - this topic for the current page (12) should have this tags:

    <link rel="first" href="https://invisioncommunity.com/forums/topic/442742-large-community-you-have-a-problems-with-sitemap/">
    <link rel="prev" href="https://invisioncommunity.com/forums/topic/442742-large-community-you-have-a-problems-with-sitemap/page/11/">
    <link rel="last" href="https://invisioncommunity.com/forums/topic/442742-large-community-you-have-a-problems-with-sitemap/page/12/">
    <link rel="canonical" href="https://invisioncommunity.com/forums/topic/442742-large-community-you-have-a-problems-with-sitemap/page/12/">

    page 10 should have this tags:

    <link rel="first" href="https://invisioncommunity.com/forums/topic/442742-large-community-you-have-a-problems-with-sitemap/">
    <link rel="prev" href="https://invisioncommunity.com/forums/topic/442742-large-community-you-have-a-problems-with-sitemap/page/9/">
    <link rel="next" href="https://invisioncommunity.com/forums/topic/442742-large-community-you-have-a-problems-with-sitemap/page/11/">
    <link rel="last" href="https://invisioncommunity.com/forums/topic/442742-large-community-you-have-a-problems-with-sitemap/page/12/">
    <link rel="canonical" href="https://invisioncommunity.com/forums/topic/442742-large-community-you-have-a-problems-with-sitemap/page/10/">

     

     

  5. I prefer White for websites. But I totally agree that IPS must add default dark theme. There is the only reason for that - help theme developers for making their dark themes. Now if some not developer guy installs IPS and if he wants to create a dark mode the visual styling isn't enough to make it. If he changes all possible fields to the dark colors he still sees white areas. Just because their colors are hardcoded in the css files. In this case, there is no way of making perfect dark themes without CSS editing from the default theme.

  6. Not certainly in that way. In the case of millions of users/topics/answers, the update time may take a long (for business) time. Of course, this also depends on the power of the application server and the database. But overall, the ability to have command-line tools would add a lot of administration, support and deployment abilities. As an example, it would be possible to describe in some manifest file a list with versions of applications/plug-ins and with some continuous integration tool builds an IPS test instance with needed additional stuff, proceed autotests for updated app branch, make deployment to production, etc.

  7. 14 hours ago, sadams101 said:

    I believe this will have positive results, simply because we are making it easier for Google to index specific content

    I think this becomes a negative result for Google. Google scans the whole page and index content on a specific page. In your sitemap_posts file, you have tons of links to the same pages (they have not differences by the code or view). So with that, you bring Google just problems. Moreover, for preventing duplications Google gives us a links management service, where we can 'say' to Google which params identify something important with content changing (like a 'page' attribute) or something not necessarily (like an 'unread' param).
    Additional, you made just problems for Google. If you wish to highlight or markup the content on the page - you should use schema.org meta, html5 tags. All of that already done by IPS. You don't need to do anything more in general purpose.
    Anyway, if your really want to scan every post like an individual content - make a special request to the topic, which will show only one post without other (but with the link to the default view). In this way, you'll increase your number of scanned 'pages'. But it mustn't be good for your SEO.

    image.thumb.png.f8b86364468ea884e92d49775104ac3f.png

  8. I want:

    • CLI-tools for install/build/update/enable/disable apps/plugins/themes. It will provide simplier operation many instances.
    • Any technology, which provide staing framework in background all time. Not default PHP method of die after every request (I know about opcache and other methods, which speed up this, but mainly it's a symptom fixing, not the core of problem). Of course, this point will increase the threshold of entry into IPS. But we want to be "the best" or "just one of"? All have their price. If somebody interesting about that - there is a good article of positive experience at Badoo.
    • Support working as a cluster (on multiple nodes) from the box? I mean some status pages, statistics, logs filter by server node, etc.. (nexus module doesn't do this stuff).
    • Some app/plugin revise tool? Example: if application 'money' use hook for \IPS\Member::load() in IPS 5.1, than if in IPS 5.2 this load method changed - the revise tool should notify about needing to revise 'money' hook. If not changed in original code => not highlight hook. Not so difficult to implement it as it heard. We have a hooks table with classes, we can simple having classess history in a lot of ways.
    • Testing scripts? :laugh: Please don't laugh at me.. I write (sometimes) test cases for my apps inside IPS. Without total coverage and without doing this job 'as becase that good'. It provide better controll when we have a lot of apps/plugins and want to check them together in newer version of IPS. So tests very helps me. From IPS I'd like to have IPS's tests of IPS Framework. It will provide to us is basic regression testing. We can check our code, but it be not interesting if some basic feature (like a post a topic) wouldn't work -). And of course I'd like to extend basic tests when I extend basic things.
    • United IPS code style. I use PHPStorm and want to see same code format everywhere (in IPS and my code). Now I can't tune my IDE for totally support your style because from file to file it is different. You can do it in several ways - from creating style format file to creating autolinter in your cvs system. Please, dont't forget to share your style rules before =). Or may be you just apply PSR-2?
    • Improved caching system. Sound simple - same incoming params to block/app/etc returns the same result (it worked only when params dont income in the middle of the func). And that's all. May be we can create some additional flag for mark classes, which support that type of caching. Any way..
    • Using different DB for read and write. For people, who has master-slave replications and who want to improve the speed by reading from slave. It simple and worked perfect! And all neccesary tools already has in current IPS version. No extra pain.
    • ...
  9. On 6/14/2018 at 3:57 PM, SJ77 said:

    Why do we need font awesome 5 again? Doesn’t the document weight grow with each iteration of FA? I’m not sure I want to sacrifice speed for more icons

    You right. Globally IPS doesn't need to include big monstrous FA5 (or any else). But with last Rikki answer, I hope they'll create some build tool for an ability to include custom font build with icons which are actually needed. In my humble opinion, this way will be an amazing solution, which may be named as a really good new improvement. Let's wait and see :cool:

  10. Google Search Console didn't show changes on graphs. But I copy some comment, posted 8 hours ago - it present in google and shows link to the source well. Ok for me. Before previous things i can't find content, posted a lot of months ago.

    But one more interesting thing - i added robots.txt 2018-03-03 and graph 'index count' boost x3.. Just because i block some links, which google tried to get, but get error or get content-less page. This errors may worse indexing of correct links. May be not, who knows ;).

    robots.png.a4f6231a5f45449666675192481132a9.png

  11. 4 hours ago, Daniel F said:

    NOPE, please not! For the record, I'm not talking about your use case, only about your hook... Just a minor suggestion, please use  IPS\Application: convertLegacyParameters() instead of overriding the session class. This would be the "official" place for such redirect, this definitely doesn't belong into the session object!


    You can see some examples in the core or forums app:)

    Sorry sorry -) I just want to make a main way for do needed stuff. And session class just as example :lol:. And i didn't know about convertLegacyParameters() method before. Thanks)

    I hook session class read method before for working with sso stuff. Totally agree with bad place for that )

    upd. deleted my code for prevent bad using it for others.. but it still saved in your quoting of my post.. :lol:

  12. On 21.02.2018 at 9:02 PM, sadams101 said:

    Here are more issues with all of my blogs:

    http://www.celiac.com/gluten-free/blog/164/entry-1580-get-over-yourself-rachael-ray/

    is not properly redirecting to:

    https://www.celiac.com/gluten-free/blogs/entry/1580-get-over-yourself-rachael-ray/

    Again, it looks like you've made some changes to directories, without redirects. Does anyone know how to write a 301 redirect that will change /blog/*/ to /blogs/entry/  ??

    This will show proper blog on your bad url address (better than get 404):

    173a633918464df88f764f4620a93e42.thumb.png.5504ade137c65f5fbecafa98c5977dca.png

     

    Of course, much better rewrite with 301. It can be done with your web server or some hook some file. If i need to do this i'll hook \IPS\Session\Front, read method. Because we need to redirect your ulr to correct place with 301 before something will start working in main engine. Something like that:

    {i deleted it}

    P.S. Need to rename this topic to "Every SEO Q/A"  :lol:

  13. 15 hours ago, sadams101 said:

    Do I need to run my cron on mycustomsitemapupdater.php more often than 1 minute?

    You can't do this with cron. I mean got this time for make a while inside php script. I didn't share this while for prevent copy-paste my version without understanding. Because too much while repeats may work more than 60 seconds and that can overflow your memory. You get 0.039s per one working. So you can create a 40-60 repeats this working per one minute (started with cron). So just write something for ($i=1; $i<60; $i++) { $generator->buildNextSitemap(); } inside example script instead line $generator->buildNextSitemap(); and that make a 60 runs per minute.

  14. 5 hours ago, sadams101 said:

    This could be totally unrelated, but shortly after making these changes I got a notice from google about an increase in crawler errors:

    When looking at the errors I see they relate to the Report Comments Link, for example:

    https://www.celiac.com/gluten-free/topic/77816-is-kimchi-gluten-less/?do=reportComment&comment=676584

    and

    https://www.celiac.com/gluten-free/topic/29519-chocoholics-there-is-hope/?do=reportComment&comment=317896

    Here is the error:

     

    Would your changes cause this?

    Error 2S136/4 thrown by IPS only in one situation - when somebody try to use report system. Just disable this ability for guests and all be fine. Now Google make your attention because it started crawl your site better and found that problem (it was exist before that changes and this changes is not link with that) :thumbsup:

    Your example links said about this too (?do=reportComment - guest shoudn't use report system).

  15. 12 hours ago, sadams101 said:

    One last question...is putting this file in root ok, or should I put it in admin?

    mycustomsitemapupdater.php

    You can place it at any place, include not webserver root folder. Moreover, putting this file outside root folder is much better (in all cases like that tools). For working you just need to write correct path to the init.php. Then you can run it manually from cli or with cron or any other technics.

  16. On 13.01.2018 at 8:29 PM, AlexWebsites said:

    Wonder what they are going to actually improve in 4.3. Can you keep us posted if applying your patch helped?

    a71ee4c567fb6bfb57598cd0bd7f5e7a.thumb.png.4f3e0e17d37f28816d5854b8c170d7bc.png

    Mainly the result of first patch already exist. Now google webmasters said 4 Jan - most oldest my sitemap file (actually all updated tiday, but google got it more frequently). Second patch with <lastmod> can provide ordering (last column). Now i can't see improvements by statistic. This big works for google get a lot of time and resources (and any update got it too). So need a more time. There is the graph of downloaded size per day
    124901bb3e3d8e864588ff9ec6f53c4e.thumb.png.a33e336bd9f87cc91d4d57aba9a639e6.png

    I see average goes up and this is good. Numbers in KiB (as legend said).

    I'll post info here if i get some more intelligent proofs and results. Thanks you for your interest )

  17. On 12.01.2018 at 11:06 PM, sadams101 said:

    I wasn't able to find this code in the file mentioned:

    Perhaps they included this in a recent update?

    It's a my code, which need to insert after $data variable.

    On 12.01.2018 at 11:44 PM, sadams101 said:

    1) Do I need to turn off the IPB's every 15 minute site map feature, or do anything?

    No. Both of them not affect other.

    On 12.01.2018 at 11:44 PM, sadams101 said:

    2) I did set this up to run every minute: mycustomsitemapupdater.php. But I did not understand the improvements you mentioned below. Is this a code change in the file? Can you explain?

    You can run 

    select FROM_UNIXTIME(updated,'%a %b %d %H:%i:%s UTC %Y') from core_sitemap order by updated asc limit 1;

    and see lag time between last updated file and current date. If they are simular - script already catch current date. Before my scripts running this command showed lag without additional script runs. As I described at the top, on my server this lag time get more 1 month.

  18. On 03.01.2018 at 5:28 PM, Nathan Explosion said:

    Has it been logged as a bug with support? If not, do so.....you can't rely solely on the Peer to Peer support forum as a way of reporting issues to the developers.

    My way for communication with IPS - write a full information topic in forums first. Discuss with other devs (may be i wrong with something?) and after some time ping via ticket system. Now ticket created (id 996743 - for IPS support).

    On 06.01.2018 at 10:52 PM, ProSkill said:

    I take that to mean that each sitemap is only going to show up to a 1000 urls. If you have 8k plus topics and 700k posts that can be an issue. 

    No issues with that. 8k topics will create 8 sub-sitemap files and they will be linked in index sitemap file. And no issue with 5000+ links to the sub-sitemaps from index file. Google saw it successfull. Confirmed.

    On 06.01.2018 at 10:52 PM, ProSkill said:

    I take that to mean that there is a long delay for the sitemap to update changes. If you move a posts, topics, or forums around there will be a significant delay before the sitemap is updated. 

    Sitemap will update only if you move post from one topic to another. Sitemap contain 'item' elements, where 'item' is topic, profile status, calendar category.. Sub-items like a posts, calendar event, profile status reply - is just a united content inside 'items'. Google didn't create something like 'tree'. It's positive way for imagine how it works more human undestandable. In fact google saves urls from specified domain and it's content. With sitemap we just help him to do it smarter. Not only with sitemaps. With url params define too. For example, i said 'page' url query in link - is page navigation. So google will know - it should scan every page with ?page=2, ?page=3 and other because it will contain another content. With comment= just link to specified location, not content changes and etc..

    On 08.01.2018 at 5:20 AM, Optic14 said:

    When you adjust the sitemap settings in IPS there is a long delay (OP mentioned it was every 15 mins? Unless I misread)

    Now one time per 15 mins IPS update only 1 sitemap file. Not full update. Yep. It's no good. And aggree with proposal for ability to run manually full update.

  19. Did it.

    Before:

    560fb-clip-60kb.thumb.png.53405ae0d5239668fd2709ca004582d7.png

    After:

    8b412-clip-54kb.thumb.png.417ab7264be2c322ed9be06769de71e6.png

    No issues detected by several sitemap online checking tools:

    35e97-clip-24kb.png.b4a055c7a67df204799ea35ed45a67a2.png

    I did it very ugly. Just for try and check. You can improve it by yourself (and share it with us, please):

    /applications/core/extensions/core/Sitemap/Content.php

    line 209: after $data line add that:

    if (get_class($node) === 'IPS\forums\Forum' && isset($node->last_post)) {
        $data['lastmod'] = $node->last_post;
    }

    and line 259 (line 262 after add previous) add after $data line that:

    if (get_class($item) === 'IPS\forums\Topic' && isset($item->last_post)) {
        $data['lastmod'] = $item->last_post;
    }

    After that the sitemap script should re-generate all sub-sitemaps for write new data to db.

    And I haven't done changing correct lastmod in index sitemap, depended on newer date inside sub-sitemap.

    Thanks.

×
×
  • Create New...